IMAGE_DOS_HEADER_00400000: ;XREF[2]: 00400134(*),00454644(*)
Headers:004000004d5a50000... IMAGE_DO... ;Magic number
|_Headers:00400000e_magic char[2] "MZ"
|_Headers:00400000[0] char 'M'
|_Headers:00400001[1] char 'Z'
|_Headers:00400002e_cblp dw 50h
|_Headers:00400004e_cp dw 2h
|_Headers:00400006e_crlc dw 0h
|_Headers:00400008e_cparhdr dw 4h
|_Headers:0040000ae_minalloc dw Fh
|_Headers:0040000ce_maxalloc dw FFFFh
|_Headers:0040000ee_ss dw 0h
|_Headers:00400010e_sp dw B8h
|_Headers:00400012e_csum dw 0h
|_Headers:00400014e_ip dw 0h
|_Headers:00400016e_cs dw 0h
|_Headers:00400018e_lfarlc dw 40h
|_Headers:0040001ae_ovno dw 1Ah
|_Headers:0040001ce_res[4] dw[4]
|_Headers:0040001c[0] dw 0h
|_Headers:0040001e[1] dw 0h
|_Headers:00400020[2] dw 0h
|_Headers:00400022[3] dw 0h
|_Headers:00400024e_oemid dw 0h
|_Headers:00400026e_oeminfo dw 0h
|_Headers:00400028e_res2[10] dw[10]
|_Headers:00400028[0] dw 0h
|_Headers:0040002a[1] dw 0h
|_Headers:0040002c[2] dw 0h
|_Headers:0040002e[3] dw 0h
|_Headers:00400030[4] dw 0h
|_Headers:00400032[5] dw 0h
|_Headers:00400034[6] dw 0h
|_Headers:00400036[7] dw 0h
|_Headers:00400038[8] dw 0h
|_Headers:0040003a[9] dw 0h
|_Headers:0040003ce_lfanew ddw 100h
|_Headers:00400040e_program db[192]
|_Headers:00400040[0] db BAh
|_Headers:00400041[1] db 10h
|_Headers:00400042[2] db 0h
|_Headers:00400043[3] db Eh
|_Headers:00400044[4] db 1Fh
|_Headers:00400045[5] db B4h
|_Headers:00400046[6] db 9h
|_Headers:00400047[7] db CDh
|_Headers:00400048[8] db 21h
|_Headers:00400049[9] db B8h
|_Headers:0040004a[10] db 1h
|_Headers:0040004b[11] db 4Ch
|_Headers:0040004c[12] db CDh
|_Headers:0040004d[13] db 21h
|_Headers:0040004e[14] db 90h
|_Headers:0040004f[15] db 90h
|_Headers:00400050[16] db 54h
|_Headers:00400051[17] db 68h
|_Headers:00400052[18] db 69h
|_Headers:00400053[19] db 73h
|_Headers:00400054[20] db 20h
|_Headers:00400055[21] db 70h
|_Headers:00400056[22] db 72h
|_Headers:00400057[23] db 6Fh
|_Headers:00400058[24] db 67h
|_Headers:00400059[25] db 72h
|_Headers:0040005a[26] db 61h
|_Headers:0040005b[27] db 6Dh
|_Headers:0040005c[28] db 20h
|_Headers:0040005d[29] db 6Dh
|_Headers:0040005e[30] db 75h
|_Headers:0040005f[31] db 73h
|_Headers:00400060[32] db 74h
|_Headers:00400061[33] db 20h
|_Headers:00400062[34] db 62h
|_Headers:00400063[35] db 65h
|_Headers:00400064[36] db 20h
|_Headers:00400065[37] db 72h
|_Headers:00400066[38] db 75h
|_Headers:00400067[39] db 6Eh
|_Headers:00400068[40] db 20h
|_Headers:00400069[41] db 75h
|_Headers:0040006a[42] db 6Eh
|_Headers:0040006b[43] db 64h
|_Headers:0040006c[44] db 65h
|_Headers:0040006d[45] db 72h
|_Headers:0040006e[46] db 20h
|_Headers:0040006f[47] db 57h
|_Headers:00400070[48] db 69h
|_Headers:00400071[49] db 6Eh
|_Headers:00400072[50] db 33h
|_Headers:00400073[51] db 32h
|_Headers:00400074[52] db Dh
|_Headers:00400075[53] db Ah
|_Headers:00400076[54] db 24h
|_Headers:00400077[55] db 37h
|_Headers:00400078[56] db 0h
|_Headers:00400079[57] db 0h
|_Headers:0040007a[58] db 0h
|_Headers:0040007b[59] db 0h
|_Headers:0040007c[60] db 0h
|_Headers:0040007d[61] db 0h
|_Headers:0040007e[62] db 0h
|_Headers:0040007f[63] db 0h
|_Headers:00400080[64] db 0h
|_Headers:00400081[65] db 0h
|_Headers:00400082[66] db 0h
|_Headers:00400083[67] db 0h
|_Headers:00400084[68] db 0h
|_Headers:00400085[69] db 0h
|_Headers:00400086[70] db 0h
|_Headers:00400087[71] db 0h
|_Headers:00400088[72] db 0h
|_Headers:00400089[73] db 0h
|_Headers:0040008a[74] db 0h
|_Headers:0040008b[75] db 0h
|_Headers:0040008c[76] db 0h
|_Headers:0040008d[77] db 0h
|_Headers:0040008e[78] db 0h
|_Headers:0040008f[79] db 0h
|_Headers:00400090[80] db 0h
|_Headers:00400091[81] db 0h
|_Headers:00400092[82] db 0h
|_Headers:00400093[83] db 0h
|_Headers:00400094[84] db 0h
|_Headers:00400095[85] db 0h
|_Headers:00400096[86] db 0h
|_Headers:00400097[87] db 0h
|_Headers:00400098[88] db 0h
|_Headers:00400099[89] db 0h
|_Headers:0040009a[90] db 0h
|_Headers:0040009b[91] db 0h
|_Headers:0040009c[92] db 0h
|_Headers:0040009d[93] db 0h
|_Headers:0040009e[94] db 0h
|_Headers:0040009f[95] db 0h
|_Headers:004000a0[96] db 0h
|_Headers:004000a1[97] db 0h
|_Headers:004000a2[98] db 0h
|_Headers:004000a3[99] db 0h
|_Headers:004000a4[100] db 0h
|_Headers:004000a5[101] db 0h
|_Headers:004000a6[102] db 0h
|_Headers:004000a7[103] db 0h
|_Headers:004000a8[104] db 0h
|_Headers:004000a9[105] db 0h
|_Headers:004000aa[106] db 0h
|_Headers:004000ab[107] db 0h
|_Headers:004000ac[108] db 0h
|_Headers:004000ad[109] db 0h
|_Headers:004000ae[110] db 0h
|_Headers:004000af[111] db 0h
|_Headers:004000b0[112] db 0h
|_Headers:004000b1[113] db 0h
|_Headers:004000b2[114] db 0h
|_Headers:004000b3[115] db 0h
|_Headers:004000b4[116] db 0h
|_Headers:004000b5[117] db 0h
|_Headers:004000b6[118] db 0h
|_Headers:004000b7[119] db 0h
|_Headers:004000b8[120] db 0h
|_Headers:004000b9[121] db 0h
|_Headers:004000ba[122] db 0h
|_Headers:004000bb[123] db 0h
|_Headers:004000bc[124] db 0h
|_Headers:004000bd[125] db 0h
|_Headers:004000be[126] db 0h
|_Headers:004000bf[127] db 0h
|_Headers:004000c0[128] db 0h
|_Headers:004000c1[129] db 0h
|_Headers:004000c2[130] db 0h
|_Headers:004000c3[131] db 0h
|_Headers:004000c4[132] db 0h
|_Headers:004000c5[133] db 0h
|_Headers:004000c6[134] db 0h
|_Headers:004000c7[135] db 0h
|_Headers:004000c8[136] db 0h
|_Headers:004000c9[137] db 0h
|_Headers:004000ca[138] db 0h
|_Headers:004000cb[139] db 0h
|_Headers:004000cc[140] db 0h
|_Headers:004000cd[141] db 0h
|_Headers:004000ce[142] db 0h
|_Headers:004000cf[143] db 0h
|_Headers:004000d0[144] db 0h
|_Headers:004000d1[145] db 0h
|_Headers:004000d2[146] db 0h
|_Headers:004000d3[147] db 0h
|_Headers:004000d4[148] db 0h
|_Headers:004000d5[149] db 0h
|_Headers:004000d6[150] db 0h
|_Headers:004000d7[151] db 0h
|_Headers:004000d8[152] db 0h
|_Headers:004000d9[153] db 0h
|_Headers:004000da[154] db 0h
|_Headers:004000db[155] db 0h
|_Headers:004000dc[156] db 0h
|_Headers:004000dd[157] db 0h
|_Headers:004000de[158] db 0h
|_Headers:004000df[159] db 0h
|_Headers:004000e0[160] db 0h
|_Headers:004000e1[161] db 0h
|_Headers:004000e2[162] db 0h
|_Headers:004000e3[163] db 0h
|_Headers:004000e4[164] db 0h
|_Headers:004000e5[165] db 0h
|_Headers:004000e6[166] db 0h
|_Headers:004000e7[167] db 0h
|_Headers:004000e8[168] db 0h
|_Headers:004000e9[169] db 0h
|_Headers:004000ea[170] db 0h
|_Headers:004000eb[171] db 0h
|_Headers:004000ec[172] db 0h
|_Headers:004000ed[173] db 0h
|_Headers:004000ee[174] db 0h
|_Headers:004000ef[175] db 0h
|_Headers:004000f0[176] db 0h
|_Headers:004000f1[177] db 0h
|_Headers:004000f2[178] db 0h
|_Headers:004000f3[179] db 0h
|_Headers:004000f4[180] db 0h
|_Headers:004000f5[181] db 0h
|_Headers:004000f6[182] db 0h
|_Headers:004000f7[183] db 0h
|_Headers:004000f8[184] db 0h
|_Headers:004000f9[185] db 0h
|_Headers:004000fa[186] db 0h
|_Headers:004000fb[187] db 0h
|_Headers:004000fc[188] db 0h
|_Headers:004000fd[189] db 0h
|_Headers:004000fe[190] db 0h
|_Headers:004000ff[191] db 0h
Headers:00400100504500004... IMAGE_NT... ;= "Borland C++ - Copyright 1994 Borl...
|_Headers:00400100Signature char[4] "PE"
|_Headers:00400100[0] char 'P'
|_Headers:00400101[1] char 'E'
|_Headers:00400102[2] char 00h
|_Headers:00400103[3] char 00h
|_Headers:00400104FileHeader IMAGE_FI...
|_Headers:00400104Machine dw 14Ch
|_Headers:00400106NumberOfS... dw 6h
|_Headers:00400108TimeDateS... ddw 9B4D2C31h
|_Headers:0040010cPointerTo... ddw 0h
|_Headers:00400110NumberOfS... ddw 0h
|_Headers:00400114SizeOfOpt... dw E0h
|_Headers:00400116Character... dw 818Eh
|_Headers:00400118OptionalH... IMAGE_OP...
|_Headers:00400118Magic dw 10Bh
|_Headers:0040011aMajorLink... db 2h
|_Headers:0040011bMinorLink... db 19h
|_Headers:0040011cSizeOfCode ddw 45A00h
|_Headers:00400120SizeOfIni... ddw 10800h
|_Headers:00400124SizeOfUni... ddw 0h
|_Headers:00400128AddressOf... ibo32 CODE:entry
|_Headers:0040012cBaseOfCode ibo32 CODE:entry
|_Headers:00400130BaseOfData ibo32 DATA:s_Borland_C++_-_Copyright_1994_B...
|_Headers:00400134ImageBase addr IMAGE_DOS_HEADER_00400000
|_Headers:00400138SectionAl... ddw 10000h
|_Headers:0040013cFileAlign... ddw 200h
|_Headers:00400140MajorOper... dw 1h
|_Headers:00400142MinorOper... dw 0h
|_Headers:00400144MajorImag... dw 0h
|_Headers:00400146MinorImag... dw 0h
|_Headers:00400148MajorSubs... dw 3h
|_Headers:0040014aMinorSubs... dw Ah
|_Headers:0040014cWin32Vers... ddw 0h
|_Headers:00400150SizeOfImage ddw B0000h
|_Headers:00400154SizeOfHea... ddw 400h
|_Headers:00400158CheckSum ddw 0h
|_Headers:0040015cSubsystem dw 2h
|_Headers:0040015eDllCharac... dw 0h
|_Headers:00400160SizeOfSta... ddw 100000h
|_Headers:00400164SizeOfSta... ddw 2000h
|_Headers:00400168SizeOfHea... ddw 100000h
|_Headers:0040016cSizeOfHea... ddw 1000h
|_Headers:00400170LoaderFlags ddw 0h
|_Headers:00400174NumberOfR... ddw 10h
|_Headers:00400178DataDirec... IMAGE_DA...
|_Headers:00400178[0] IMAGE_DA...
|_Headers:00400178VirtualAd... ibo32 .edata:IMAGE_DIRECTORY_ENTRY_EXPORT_0...
|_Headers:0040017cSize ddw 7Fh
|_Headers:00400180[1] IMAGE_DA...
|_Headers:00400180VirtualAd... ibo32 .idata:DWORD_00470000
|_Headers:00400184Size ddw CF2h
|_Headers:00400188[2] IMAGE_DA...
|_Headers:00400188VirtualAd... ibo32 .rsrc:IMAGE_RESOURCE_DIRECTORY_004a0000
|_Headers:0040018cSize ddw 4800h
|_Headers:00400190[3] IMAGE_DA...
|_Headers:00400190VirtualAd... ibo32 NaP
|_Headers:00400194Size ddw 0h
|_Headers:00400198[4] IMAGE_DA...
|_Headers:00400198VirtualAd... ibo32 NaP
|_Headers:0040019cSize ddw 0h
|_Headers:004001a0[5] IMAGE_DA...
|_Headers:004001a0VirtualAd... ibo32 .reloc:DWORD_00490000
|_Headers:004001a4Size ddw 6780h
|_Headers:004001a8[6] IMAGE_DA...
|_Headers:004001a8VirtualAd... ibo32 NaP
|_Headers:004001acSize ddw 0h
|_Headers:004001b0[7] IMAGE_DA...
|_Headers:004001b0VirtualAd... ibo32 NaP
|_Headers:004001b4Size ddw 0h
|_Headers:004001b8[8] IMAGE_DA...
|_Headers:004001b8VirtualAd... ibo32 NaP
|_Headers:004001bcSize ddw 0h
|_Headers:004001c0[9] IMAGE_DA...
|_Headers:004001c0VirtualAd... ibo32 NaP
|_Headers:004001c4Size ddw 0h
|_Headers:004001c8[10] IMAGE_DA...
|_Headers:004001c8VirtualAd... ibo32 NaP
|_Headers:004001ccSize ddw 0h
|_Headers:004001d0[11] IMAGE_DA...
|_Headers:004001d0VirtualAd... ibo32 NaP
|_Headers:004001d4Size ddw 0h
|_Headers:004001d8[12] IMAGE_DA...
|_Headers:004001d8VirtualAd... ibo32 NaP
|_Headers:004001dcSize ddw 0h
|_Headers:004001e0[13] IMAGE_DA...
|_Headers:004001e0VirtualAd... ibo32 NaP
|_Headers:004001e4Size ddw 0h
|_Headers:004001e8[14] IMAGE_DA...
|_Headers:004001e8VirtualAd... ibo32 NaP
|_Headers:004001ecSize ddw 0h
|_Headers:004001f0[15] IMAGE_DA...
|_Headers:004001f0VirtualAd... ibo32 NaP
|_Headers:004001f4Size ddw 0h
Headers:004001f8434f44450... IMAGE_SE... ;CODE
|_Headers:004001f8Name char[8] "CODE"
|_Headers:004001f8[0] char 'C'
|_Headers:004001f9[1] char 'O'
|_Headers:004001fa[2] char 'D'
|_Headers:004001fb[3] char 'E'
|_Headers:004001fc[4] char 00h
|_Headers:004001fd[5] char 00h
|_Headers:004001fe[6] char 00h
|_Headers:004001ff[7] char 00h
|_Headers:00400200Misc Misc
|_Headers:00400200PhysicalA... ddw 46000h
|_Headers:00400200VirtualSize ddw 46000h
|_Headers:00400204VirtualAd... ibo32 CODE:entry
|_Headers:00400208SizeOfRaw... ddw 45A00h
|_Headers:0040020cPointerTo... ddw 600h
|_Headers:00400210PointerTo... ddw 0h
|_Headers:00400214PointerTo... ddw 0h
|_Headers:00400218NumberOfR... dw 0h
|_Headers:0040021aNumberOfL... dw 0h
|_Headers:0040021cCharacter... SectionF...IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EX...
Headers:00400220444154410... IMAGE_SE... ;DATA
|_Headers:00400220Name char[8] "DATA"
|_Headers:00400220[0] char 'D'
|_Headers:00400221[1] char 'A'
|_Headers:00400222[2] char 'T'
|_Headers:00400223[3] char 'A'
|_Headers:00400224[4] char 00h
|_Headers:00400225[5] char 00h
|_Headers:00400226[6] char 00h
|_Headers:00400227[7] char 00h
|_Headers:00400228Misc Misc
|_Headers:00400228PhysicalA... ddw B000h
|_Headers:00400228VirtualSize ddw B000h
|_Headers:0040022cVirtualAd... ibo32 DATA:s_Borland_C++_-_Copyright_1994_B...
|_Headers:00400230SizeOfRaw... ddw 4800h
|_Headers:00400234PointerTo... ddw 46000h
|_Headers:00400238PointerTo... ddw 0h
|_Headers:0040023cPointerTo... ddw 0h
|_Headers:00400240NumberOfR... dw 0h
|_Headers:00400242NumberOfL... dw 0h
|_Headers:00400244Character... SectionF...IMAGE_SCN_CNT_INITIALIZED_DATA | IMAG...
Headers:004002482e6964617... IMAGE_SE... ;.idata
|_Headers:00400248Name char[8] ".idata"
|_Headers:00400248[0] char '.'
|_Headers:00400249[1] char 'i'
|_Headers:0040024a[2] char 'd'
|_Headers:0040024b[3] char 'a'
|_Headers:0040024c[4] char 't'
|_Headers:0040024d[5] char 'a'
|_Headers:0040024e[6] char 00h
|_Headers:0040024f[7] char 00h
|_Headers:00400250Misc Misc
|_Headers:00400250PhysicalA... ddw 1000h
|_Headers:00400250VirtualSize ddw 1000h
|_Headers:00400254VirtualAd... ibo32 .idata:DWORD_00470000
|_Headers:00400258SizeOfRaw... ddw E00h
|_Headers:0040025cPointerTo... ddw 4A800h
|_Headers:00400260PointerTo... ddw 0h
|_Headers:00400264PointerTo... ddw 0h
|_Headers:00400268NumberOfR... dw 0h
|_Headers:0040026aNumberOfL... dw 0h
|_Headers:0040026cCharacter... SectionF...IMAGE_SCN_CNT_INITIALIZED_DATA | IMAG...
Headers:004002702e6564617... IMAGE_SE... ;.edata
|_Headers:00400270Name char[8] ".edata"
|_Headers:00400270[0] char '.'
|_Headers:00400271[1] char 'e'
|_Headers:00400272[2] char 'd'
|_Headers:00400273[3] char 'a'
|_Headers:00400274[4] char 't'
|_Headers:00400275[5] char 'a'
|_Headers:00400276[6] char 00h
|_Headers:00400277[7] char 00h
|_Headers:00400278Misc Misc
|_Headers:00400278PhysicalA... ddw 1000h
|_Headers:00400278VirtualSize ddw 1000h
|_Headers:0040027cVirtualAd... ibo32 .edata:IMAGE_DIRECTORY_ENTRY_EXPORT_0...
|_Headers:00400280SizeOfRaw... ddw 200h
|_Headers:00400284PointerTo... ddw 4B600h
|_Headers:00400288PointerTo... ddw 0h
|_Headers:0040028cPointerTo... ddw 0h
|_Headers:00400290NumberOfR... dw 0h
|_Headers:00400292NumberOfL... dw 0h
|_Headers:00400294Character... SectionF...IMAGE_SCN_CNT_INITIALIZED_DATA | IMAG...
Headers:004002982e72656c6... IMAGE_SE... ;.reloc
|_Headers:00400298Name char[8] ".reloc"
|_Headers:00400298[0] char '.'
|_Headers:00400299[1] char 'r'
|_Headers:0040029a[2] char 'e'
|_Headers:0040029b[3] char 'l'
|_Headers:0040029c[4] char 'o'
|_Headers:0040029d[5] char 'c'
|_Headers:0040029e[6] char 00h
|_Headers:0040029f[7] char 00h
|_Headers:004002a0Misc Misc
|_Headers:004002a0PhysicalA... ddw 7000h
|_Headers:004002a0VirtualSize ddw 7000h
|_Headers:004002a4VirtualAd... ibo32 .reloc:DWORD_00490000
|_Headers:004002a8SizeOfRaw... ddw 6800h
|_Headers:004002acPointerTo... ddw 4B800h
|_Headers:004002b0PointerTo... ddw 0h
|_Headers:004002b4PointerTo... ddw 0h
|_Headers:004002b8NumberOfR... dw 0h
|_Headers:004002baNumberOfL... dw 0h
|_Headers:004002bcCharacter... SectionF...IMAGE_SCN_CNT_INITIALIZED_DATA | IMAG...
Headers:004002c02e7273726... IMAGE_SE... ;.rsrc
|_Headers:004002c0Name char[8] ".rsrc"
|_Headers:004002c0[0] char '.'
|_Headers:004002c1[1] char 'r'
|_Headers:004002c2[2] char 's'
|_Headers:004002c3[3] char 'r'
|_Headers:004002c4[4] char 'c'
|_Headers:004002c5[5] char 00h
|_Headers:004002c6[6] char 00h
|_Headers:004002c7[7] char 00h
|_Headers:004002c8Misc Misc
|_Headers:004002c8PhysicalA... ddw 5000h
|_Headers:004002c8VirtualSize ddw 5000h
|_Headers:004002ccVirtualAd... ibo32 .rsrc:IMAGE_RESOURCE_DIRECTORY_004a0000
|_Headers:004002d0SizeOfRaw... ddw 4800h
|_Headers:004002d4PointerTo... ddw 52000h
|_Headers:004002d8PointerTo... ddw 0h
|_Headers:004002dcPointerTo... ddw 0h
|_Headers:004002e0NumberOfR... dw 0h
|_Headers:004002e2NumberOfL... dw 0h
|_Headers:004002e4Character... SectionF...IMAGE_SCN_CNT_INITIALIZED_DATA | IMAG...
Headers:004002e800 ?? 00h
Headers:004002e900 ?? 00h
Headers:004002ea00 ?? 00h
Headers:004002eb00 ?? 00h
Headers:004002ec00 ?? 00h
Headers:004002ed00 ?? 00h
Headers:004002ee00 ?? 00h
Headers:004002ef00 ?? 00h
Headers:004002f000 ?? 00h
Headers:004002f100 ?? 00h
Headers:004002f200 ?? 00h
Headers:004002f300 ?? 00h
Headers:004002f400 ?? 00h
Headers:004002f500 ?? 00h
Headers:004002f600 ?? 00h
Headers:004002f700 ?? 00h
Headers:004002f800 ?? 00h
Headers:004002f900 ?? 00h
Headers:004002fa00 ?? 00h
Headers:004002fb00 ?? 00h
Headers:004002fc00 ?? 00h
Headers:004002fd00 ?? 00h
Headers:004002fe00 ?? 00h
Headers:004002ff00 ?? 00h
Headers:0040030000 ?? 00h
Headers:0040030100 ?? 00h
Headers:0040030200 ?? 00h
Headers:0040030300 ?? 00h
Headers:0040030400 ?? 00h
Headers:0040030500 ?? 00h
Headers:0040030600 ?? 00h
Headers:0040030700 ?? 00h
Headers:0040030800 ?? 00h
Headers:0040030900 ?? 00h
Headers:0040030a00 ?? 00h
Headers:0040030b00 ?? 00h
Headers:0040030c00 ?? 00h
Headers:0040030d00 ?? 00h
Headers:0040030e00 ?? 00h
Headers:0040030f00 ?? 00h
Headers:0040031000 ?? 00h
Headers:0040031100 ?? 00h
Headers:0040031200 ?? 00h
Headers:0040031300 ?? 00h
Headers:0040031400 ?? 00h
Headers:0040031500 ?? 00h
Headers:0040031600 ?? 00h
Headers:0040031700 ?? 00h
Headers:0040031800 ?? 00h
Headers:0040031900 ?? 00h
Headers:0040031a00 ?? 00h
Headers:0040031b00 ?? 00h
Headers:0040031c00 ?? 00h
Headers:0040031d00 ?? 00h
Headers:0040031e00 ?? 00h
Headers:0040031f00 ?? 00h
Headers:0040032000 ?? 00h
Headers:0040032100 ?? 00h
Headers:0040032200 ?? 00h
Headers:0040032300 ?? 00h
Headers:0040032400 ?? 00h
Headers:0040032500 ?? 00h
Headers:0040032600 ?? 00h
Headers:0040032700 ?? 00h
Headers:0040032800 ?? 00h
Headers:0040032900 ?? 00h
Headers:0040032a00 ?? 00h
Headers:0040032b00 ?? 00h
Headers:0040032c00 ?? 00h
Headers:0040032d00 ?? 00h
Headers:0040032e00 ?? 00h
Headers:0040032f00 ?? 00h
Headers:0040033000 ?? 00h
Headers:0040033100 ?? 00h
Headers:0040033200 ?? 00h
Headers:0040033300 ?? 00h
Headers:0040033400 ?? 00h
Headers:0040033500 ?? 00h
Headers:0040033600 ?? 00h
Headers:0040033700 ?? 00h
Headers:0040033800 ?? 00h
Headers:0040033900 ?? 00h
Headers:0040033a00 ?? 00h
Headers:0040033b00 ?? 00h
Headers:0040033c00 ?? 00h
Headers:0040033d00 ?? 00h
Headers:0040033e00 ?? 00h
Headers:0040033f00 ?? 00h
Headers:0040034000 ?? 00h
Headers:0040034100 ?? 00h
Headers:0040034200 ?? 00h
Headers:0040034300 ?? 00h
Headers:0040034400 ?? 00h
Headers:0040034500 ?? 00h
Headers:0040034600 ?? 00h
Headers:0040034700 ?? 00h
Headers:0040034800 ?? 00h
Headers:0040034900 ?? 00h
Headers:0040034a00 ?? 00h
Headers:0040034b00 ?? 00h
Headers:0040034c00 ?? 00h
Headers:0040034d00 ?? 00h
Headers:0040034e00 ?? 00h
Headers:0040034f00 ?? 00h
Headers:0040035000 ?? 00h
Headers:0040035100 ?? 00h
Headers:0040035200 ?? 00h
Headers:0040035300 ?? 00h
Headers:0040035400 ?? 00h
Headers:0040035500 ?? 00h
Headers:0040035600 ?? 00h
Headers:0040035700 ?? 00h
Headers:0040035800 ?? 00h
Headers:0040035900 ?? 00h
Headers:0040035a00 ?? 00h
Headers:0040035b00 ?? 00h
Headers:0040035c00 ?? 00h
Headers:0040035d00 ?? 00h
Headers:0040035e00 ?? 00h
Headers:0040035f00 ?? 00h
Headers:0040036000 ?? 00h
Headers:0040036100 ?? 00h
Headers:0040036200 ?? 00h
Headers:0040036300 ?? 00h
Headers:0040036400 ?? 00h
Headers:0040036500 ?? 00h
Headers:0040036600 ?? 00h
Headers:0040036700 ?? 00h
Headers:0040036800 ?? 00h
Headers:0040036900 ?? 00h
Headers:0040036a00 ?? 00h
Headers:0040036b00 ?? 00h
Headers:0040036c00 ?? 00h
Headers:0040036d00 ?? 00h
Headers:0040036e00 ?? 00h
Headers:0040036f00 ?? 00h
Headers:0040037000 ?? 00h
Headers:0040037100 ?? 00h
Headers:0040037200 ?? 00h
Headers:0040037300 ?? 00h
Headers:0040037400 ?? 00h
Headers:0040037500 ?? 00h
Headers:0040037600 ?? 00h
Headers:0040037700 ?? 00h
Headers:0040037800 ?? 00h
Headers:0040037900 ?? 00h
Headers:0040037a00 ?? 00h
Headers:0040037b00 ?? 00h
Headers:0040037c00 ?? 00h
Headers:0040037d00 ?? 00h
Headers:0040037e00 ?? 00h
Headers:0040037f00 ?? 00h
Headers:0040038000 ?? 00h
Headers:0040038100 ?? 00h
Headers:0040038200 ?? 00h
Headers:0040038300 ?? 00h
Headers:0040038400 ?? 00h
Headers:0040038500 ?? 00h
Headers:0040038600 ?? 00h
Headers:0040038700 ?? 00h
Headers:0040038800 ?? 00h
Headers:0040038900 ?? 00h
Headers:0040038a00 ?? 00h
Headers:0040038b00 ?? 00h
Headers:0040038c00 ?? 00h
Headers:0040038d00 ?? 00h
Headers:0040038e00 ?? 00h
Headers:0040038f00 ?? 00h
Headers:0040039000 ?? 00h
Headers:0040039100 ?? 00h
Headers:0040039200 ?? 00h
Headers:0040039300 ?? 00h
Headers:0040039400 ?? 00h
Headers:0040039500 ?? 00h
Headers:0040039600 ?? 00h
Headers:0040039700 ?? 00h
Headers:0040039800 ?? 00h
Headers:0040039900 ?? 00h
Headers:0040039a00 ?? 00h
Headers:0040039b00 ?? 00h
Headers:0040039c00 ?? 00h
Headers:0040039d00 ?? 00h
Headers:0040039e00 ?? 00h
Headers:0040039f00 ?? 00h
Headers:004003a000 ?? 00h
Headers:004003a100 ?? 00h
Headers:004003a200 ?? 00h
Headers:004003a300 ?? 00h
Headers:004003a400 ?? 00h
Headers:004003a500 ?? 00h
Headers:004003a600 ?? 00h
Headers:004003a700 ?? 00h
Headers:004003a800 ?? 00h
Headers:004003a900 ?? 00h
Headers:004003aa00 ?? 00h
Headers:004003ab00 ?? 00h
Headers:004003ac00 ?? 00h
Headers:004003ad00 ?? 00h
Headers:004003ae00 ?? 00h
Headers:004003af00 ?? 00h
Headers:004003b000 ?? 00h
Headers:004003b100 ?? 00h
Headers:004003b200 ?? 00h
Headers:004003b300 ?? 00h
Headers:004003b400 ?? 00h
Headers:004003b500 ?? 00h
Headers:004003b600 ?? 00h
Headers:004003b700 ?? 00h
Headers:004003b800 ?? 00h
Headers:004003b900 ?? 00h
Headers:004003ba00 ?? 00h
Headers:004003bb00 ?? 00h
Headers:004003bc00 ?? 00h
Headers:004003bd00 ?? 00h
Headers:004003be00 ?? 00h
Headers:004003bf00 ?? 00h
Headers:004003c000 ?? 00h
Headers:004003c100 ?? 00h
Headers:004003c200 ?? 00h
Headers:004003c300 ?? 00h
Headers:004003c400 ?? 00h
Headers:004003c500 ?? 00h
Headers:004003c600 ?? 00h
Headers:004003c700 ?? 00h
Headers:004003c800 ?? 00h
Headers:004003c900 ?? 00h
Headers:004003ca00 ?? 00h
Headers:004003cb00 ?? 00h
Headers:004003cc00 ?? 00h
Headers:004003cd00 ?? 00h
Headers:004003ce00 ?? 00h
Headers:004003cf00 ?? 00h
Headers:004003d000 ?? 00h
Headers:004003d100 ?? 00h
Headers:004003d200 ?? 00h
Headers:004003d300 ?? 00h
Headers:004003d400 ?? 00h
Headers:004003d500 ?? 00h
Headers:004003d600 ?? 00h
Headers:004003d700 ?? 00h
Headers:004003d800 ?? 00h
Headers:004003d900 ?? 00h
Headers:004003da00 ?? 00h
Headers:004003db00 ?? 00h
Headers:004003dc00 ?? 00h
Headers:004003dd00 ?? 00h
Headers:004003de00 ?? 00h
Headers:004003df00 ?? 00h
Headers:004003e000 ?? 00h
Headers:004003e100 ?? 00h
Headers:004003e200 ?? 00h
Headers:004003e300 ?? 00h
Headers:004003e400 ?? 00h
Headers:004003e500 ?? 00h
Headers:004003e600 ?? 00h
Headers:004003e700 ?? 00h
Headers:004003e800 ?? 00h
Headers:004003e900 ?? 00h
Headers:004003ea00 ?? 00h
Headers:004003eb00 ?? 00h
Headers:004003ec00 ?? 00h
Headers:004003ed00 ?? 00h
Headers:004003ee00 ?? 00h
Headers:004003ef00 ?? 00h
Headers:004003f000 ?? 00h
Headers:004003f100 ?? 00h
Headers:004003f200 ?? 00h
Headers:004003f300 ?? 00h
Headers:004003f400 ?? 00h
Headers:004003f500 ?? 00h
Headers:004003f600 ?? 00h
Headers:004003f700 ?? 00h
Headers:004003f800 ?? 00h
Headers:004003f900 ?? 00h
Headers:004003fa00 ?? 00h
Headers:004003fb00 ?? 00h
Headers:004003fc00 ?? 00h
Headers:004003fd00 ?? 00h
Headers:004003fe00 ?? 00h
Headers:004003ff00 ?? 00h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined entry(void)
;XREF[4]: Entry Point(*),00400128(*),0040012c(*),00400204(*)
CODE:00410000 a159004600 MOV EAX,[DATA:DAT_00460059]
CODE:00410005 c1e002 SHL EAX,0x2
CODE:00410008 a35d004600 MOV [DATA:DAT_0046005d],EAX
CODE:0041000d 57 PUSH EDI
CODE:0041000e 51 PUSH ECX
CODE:0041000f 33c0 XOR EAX,EAX
CODE:00410011 bfb0464600 MOV EDI,DATA:hResData_004646b0 ;= 00000000
CODE:00410016 b9f0ae4600 MOV ECX,DATA:DAT_0046aef0 ;= ??
CODE:0041001b 3bcf CMP ECX,EDI
CODE:0041001d 7605 JBE LAB_00410024
CODE:0041001f 2bcf SUB ECX,EDI
CODE:00410021 fc CLD
CODE:00410022 f3aa STOSB.REP ES:EDI=>DATA:hResData_004646b0 ;= 00000000
LAB_00410024: ;XREF[1]: 0041001d(j)
CODE:00410024 59 POP ECX
CODE:00410025 5f POP EDI
CODE:00410026 64678b160400 MOV EDX,dword ptr FS:[0x4]
CODE:0041002c 8b42f8 MOV EAX,dword ptr [EDX + -0x8]
CODE:0041002f a361004600 MOV [DATA:DAT_00460061],EAX
CODE:00410034 8b42fc MOV EAX,dword ptr [EDX + -0x4]
CODE:00410037 a365004600 MOV [DATA:DAT_00460065],EAX
CODE:0041003c 83ea04 SUB EDX,0x4
CODE:0041003f 8915a4aa4600 MOV dword ptr [DATA:DAT_0046aaa4],EDX ;= ??
CODE:00410045 83ea04 SUB EDX,0x4
CODE:00410048 3bd4 CMP EDX,ESP
CODE:0041004a 7302 JNC LAB_0041004e
CODE:0041004c 8be2 MOV ESP,EDX
LAB_0041004e: ;XREF[1]: 0041004a(j)
CODE:0041004e 6a00 PUSH 0x0
CODE:00410050 e8a21b0400 CALL FUN_00451bf7 ;undefined FUN_00451bf7(undefined par...
CODE:00410055 59 POP ECX
CODE:00410056 682c004600 PUSH DATA:PTR_DAT_0046002c ;= 00464678
CODE:0041005b 6a00 PUSH 0x0 ;LPCSTR lpModuleName for GetModuleHan...
CODE:0041005d e84f540400 CALL KERNEL32.DLL::GetModuleHandleA ;HMODULE GetModuleHandleA(LPCSTR lpMo...
CODE:00410062 a36a004600 MOV [DATA:DAT_0046006a],EAX
CODE:00410067 6a00 PUSH 0x0
CODE:00410069 e9ba4d0400 JMP LAB_00454e28
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined __GetExceptDLLinfo(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 00480028(*)
CODE:0041006e e93d1c0400 JMP FUN_00451cb0
CODE:00410073 00 ?? 00h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410074(void)
;XREF[1]: 00410e77(c)
CODE:00410074 53 PUSH EBX
CODE:00410075 687d004600 PUSH DATA:lpType_0046007d ;LPCSTR lpType for FindResourceA
CODE:0041007a 6874004600 PUSH DATA:lpName_00460074 ;LPCSTR lpName for FindResourceA
CODE:0041007f ff355c484600 PUSH dword ptr [DATA:$Module] ;HMODULE hModule for FindResourceA
CODE:00410085 e81d550400 CALL KERNEL32.DLL::FindResourceA ;HRSRC FindResourceA(HMODULE hModule,...
CODE:0041008a a3b4464600 MOV [DATA:hResData_004646b4],EAX ;= 00000000
CODE:0041008f 833db4464... CMP dword ptr [DATA:hResData_004646b4],0x0 ;= 00000000
CODE:00410096 751f JNZ LAB_004100b7
CODE:00410098 6a10 PUSH 0x10 ;UINT uType for MessageBoxA
CODE:0041009a 68ae004600 PUSH DATA:lpCaption_004600ae ;LPCSTR lpCaption for MessageBoxA
CODE:0041009f 6882004600 PUSH DATA:s_I_could_not_find_the_font_conv...;LPCSTR lpText for MessageBoxA
CODE:004100a4 ff355c484600 PUSH dword ptr [DATA:$Module] ;HWND hWnd for MessageBoxA
CODE:004100aa e84c550400 CALL USER32.DLL::MessageBoxA ;int MessageBoxA(HWND hWnd, LPCSTR lp...
CODE:004100af 6a01 PUSH 0x1
CODE:004100b1 e8b2480400 CALL DoSomethingThenExit? ;void DoSomethingThenExit?(UINT exitC...
CODE:004100b6 59 POP ECX
LAB_004100b7: ;XREF[1]: 00410096(j)
CODE:004100b7 ff35b4464600 PUSH dword ptr [DATA:hResData_004646b4] ;HRSRC hResInfo for LoadResource
CODE:004100bd ff355c484600 PUSH dword ptr [DATA:$Module] ;HMODULE hModule for LoadResource
CODE:004100c3 e8f5530400 CALL KERNEL32.DLL::LoadResource ;HGLOBAL LoadResource(HMODULE hModule...
CODE:004100c8 8bd8 MOV EBX,EAX
CODE:004100ca 85db TEST EBX,EBX
CODE:004100cc 751f JNZ LAB_004100ed
CODE:004100ce 6a10 PUSH 0x10 ;UINT uType for MessageBoxA
CODE:004100d0 68de004600 PUSH DATA:lpCaption_004600de ;LPCSTR lpCaption for MessageBoxA
CODE:004100d5 68b2004600 PUSH DATA:s_I_could_not_find_the_font_conv...;LPCSTR lpText for MessageBoxA
CODE:004100da ff355c484600 PUSH dword ptr [DATA:$Module] ;HWND hWnd for MessageBoxA
CODE:004100e0 e816550400 CALL USER32.DLL::MessageBoxA ;int MessageBoxA(HWND hWnd, LPCSTR lp...
CODE:004100e5 6a01 PUSH 0x1
CODE:004100e7 e87c480400 CALL DoSomethingThenExit? ;void DoSomethingThenExit?(UINT exitC...
CODE:004100ec 59 POP ECX
LAB_004100ed: ;XREF[1]: 004100cc(j)
CODE:004100ed 891db0464600 MOV dword ptr [DATA:hResData_004646b0],EBX ;= 00000000
CODE:004100f3 53 PUSH EBX ;HGLOBAL hResData for LockResource
CODE:004100f4 e812540400 CALL KERNEL32.DLL::LockResource ;LPVOID LockResource(HGLOBAL hResData)
CODE:004100f9 8bd8 MOV EBX,EAX
CODE:004100fb 85db TEST EBX,EBX
CODE:004100fd 751f JNZ LAB_0041011e
CODE:004100ff 6a10 PUSH 0x10 ;UINT uType for MessageBoxA
CODE:00410101 680e014600 PUSH DATA:lpCaption_0046010e ;LPCSTR lpCaption for MessageBoxA
CODE:00410106 68e2004600 PUSH DATA:s_I_could_not_find_the_font_conv...;LPCSTR lpText for MessageBoxA
CODE:0041010b ff355c484600 PUSH dword ptr [DATA:$Module] ;HWND hWnd for MessageBoxA
CODE:00410111 e8e5540400 CALL USER32.DLL::MessageBoxA ;int MessageBoxA(HWND hWnd, LPCSTR lp...
CODE:00410116 6a01 PUSH 0x1
CODE:00410118 e84b480400 CALL DoSomethingThenExit? ;void DoSomethingThenExit?(UINT exitC...
CODE:0041011d 59 POP ECX
LAB_0041011e: ;XREF[1]: 004100fd(j)
CODE:0041011e 891d70004600 MOV dword ptr [DATA:DAT_00460070],EBX
CODE:00410124 5b POP EBX
CODE:00410125 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410126(void)
;XREF[1]: 00410f00(c)
CODE:00410126 ff35b0464600 PUSH dword ptr [DATA:hResData_004646b0] ;HGLOBAL hResData for FreeResource
CODE:0041012c e804540400 CALL KERNEL32.DLL::FreeResource ;BOOL FreeResource(HGLOBAL hResData)
CODE:00410131 ff35b4464600 PUSH dword ptr [DATA:hResData_004646b4] ;HGLOBAL hResData for FreeResource
CODE:00410137 e8f9530400 CALL KERNEL32.DLL::FreeResource ;BOOL FreeResource(HGLOBAL hResData)
CODE:0041013c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;char * GetWinapiStringAlloc(UINT id)
;id UINT 4 ;XREF[1]: 00410148(R)
;copied undefined4 EAX ;XREF[2]: 0041015e(W),0041019e(W)
;result undefined4 EAX ;XREF[1]: 0041019e(W)
;scratch undefined1[... -104 ;XREF[6]: 00410150(*),0041016d(*),00410183(*),004101b0(*),004101c6(*),
; 004101dc(*)
;XREF[21]: 00417f0f(c),0041ac46(c),0041acf3(c),00422935(c),
; 00422986(c),00422a4b(c),00422a58(c),00422a65(c),
; 0042b137(c),0042b33c(c),00430618(c),00430c2f(c),
; 00430fc6(c),0043fdf8(c),00445900(c),00445e97(c),
; 00446115(c),00446500(c),00446589(c),004478d7(c),
; 0044c99a(c)
CODE:0041013d 55 PUSH EBP
CODE:0041013e 8bec MOV EBP,ESP
CODE:00410140 81c400ffffff ADD ESP,0xffffff00
CODE:00410146 53 PUSH EBX
CODE:00410147 56 PUSH ESI
CODE:00410148 8b7508 MOV ESI,dword ptr [EBP + id+0x4]
CODE:0041014b 68fe000000 PUSH 0xfe ;int cchBufferMax for LoadStringA
CODE:00410150 8d8500ffffff LEA EAX=>scratch,[EBP + 0xffffff00]
CODE:00410156 50 PUSH EAX ;LPSTR lpBuffer for LoadStringA
CODE:00410157 56 PUSH ESI ;UINT uID for LoadStringA
CODE:00410158 ff355c484600 PUSH dword ptr [DATA:$Module] ;HINSTANCE hInstance for LoadStringA
CODE:0041015e e89e540400 CALL USER32.DLL::LoadStringA ;int LoadStringA(HINSTANCE hInstance,...
CODE:00410163 85c0 TEST copied,copied
CODE:00410165 7532 JNZ LAB_00410199
CODE:00410167 56 PUSH ESI
CODE:00410168 6812014600 PUSH DATA:s_Cannot_Load_Resource_#%d_-_mis...;= "Cannot Load Resource #%d - missin...
CODE:0041016d 8d8500ffffff LEA copied=>scratch,[EBP + 0xffffff00]
CODE:00410173 50 PUSH copied
CODE:00410174 e8fb280400 CALL Sprintf' ;int Sprintf'(char * dest, char * for...
CODE:00410179 83c40c ADD ESP,0xc
CODE:0041017c 6a10 PUSH 0x10 ;UINT uType for MessageBoxA
CODE:0041017e 683e014600 PUSH DATA:lpCaption_0046013e ;LPCSTR lpCaption for MessageBoxA
CODE:00410183 8d8500ffffff LEA copied=>scratch,[EBP + 0xffffff00]
CODE:00410189 50 PUSH copied ;LPCSTR lpText for MessageBoxA
CODE:0041018a 6a00 PUSH 0x0 ;HWND hWnd for MessageBoxA
CODE:0041018c e86a540400 CALL USER32.DLL::MessageBoxA ;int MessageBoxA(HWND hWnd, LPCSTR lp...
CODE:00410191 6a01 PUSH 0x1
CODE:00410193 e8d0470400 CALL DoSomethingThenExit? ;void DoSomethingThenExit?(UINT exitC...
CODE:00410198 59 POP ECX
LAB_00410199: ;XREF[1]: 00410165(j)
CODE:00410199 68ff000000 PUSH 0xff
CODE:0041019e e871430400 CALL TurboAlloc? ;void * TurboAlloc?(uint len)
CODE:004101a3 59 POP ECX
CODE:004101a4 8bd8 MOV EBX,result
CODE:004101a6 85db TEST EBX,EBX
CODE:004101a8 7532 JNZ LAB_004101dc
CODE:004101aa 56 PUSH ESI
CODE:004101ab 6842014600 PUSH DATA:s_Cannot_Load_Resource_#%d_-_out...;= "Cannot Load Resource #%d - out of...
CODE:004101b0 8d8500ffffff LEA result=>scratch,[EBP + 0xffffff00]
CODE:004101b6 50 PUSH result
CODE:004101b7 e8b8280400 CALL Sprintf' ;int Sprintf'(char * dest, char * for...
CODE:004101bc 83c40c ADD ESP,0xc
CODE:004101bf 6a10 PUSH 0x10 ;UINT uType for MessageBoxA
CODE:004101c1 686c014600 PUSH DATA:lpCaption_0046016c ;LPCSTR lpCaption for MessageBoxA
CODE:004101c6 8d8500ffffff LEA result=>scratch,[EBP + 0xffffff00]
CODE:004101cc 50 PUSH result ;LPCSTR lpText for MessageBoxA
CODE:004101cd 6a00 PUSH 0x0 ;HWND hWnd for MessageBoxA
CODE:004101cf e827540400 CALL USER32.DLL::MessageBoxA ;int MessageBoxA(HWND hWnd, LPCSTR lp...
CODE:004101d4 6a01 PUSH 0x1
CODE:004101d6 e88d470400 CALL DoSomethingThenExit? ;void DoSomethingThenExit?(UINT exitC...
CODE:004101db 59 POP ECX
LAB_004101dc: ;XREF[1]: 004101a8(j)
CODE:004101dc 8d8500ffffff LEA result=>scratch,[EBP + 0xffffff00]
CODE:004101e2 50 PUSH result
CODE:004101e3 53 PUSH EBX
CODE:004101e4 e893fd0300 CALL Strcpy ;char * Strcpy(char * dest, char * src)
CODE:004101e9 83c408 ADD ESP,0x8
CODE:004101ec 8bc3 MOV result,EBX
CODE:004101ee 5e POP ESI
CODE:004101ef 5b POP EBX
CODE:004101f0 8be5 MOV ESP,EBP
CODE:004101f2 5d POP EBP
CODE:004101f3 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void GetWinapiString(char * result, UINT id)
;result char * 4 ;XREF[1]: 00410256(R)
;id UINT 8 ;XREF[1]: 004101fe(R)
;copied undefined4 EAX ;XREF[1]: 00410214(W)
;scratch undefined1[... -104 ;XREF[4]: 00410206(*),00410223(*),00410239(*),0041024f(*)
;XREF[21]: 00410bf6(c),0041228b(c),00417e32(c),00417e46(c),
; 00422973(c),0042fd12(c),00430075(c),0043f295(c),
; 00445829(c),0044583f(c),00445855(c),00445868(c),
; 0044587b(c),0044588e(c),004458a1(c),004458b4(c),
; 004458c7(c),0044b6a0(c),0044c910(c),0044cbef(c),
; 0044cf9e(c)
CODE:004101f4 55 PUSH EBP
CODE:004101f5 8bec MOV EBP,ESP
CODE:004101f7 81c400ffffff ADD ESP,0xffffff00
CODE:004101fd 53 PUSH EBX
CODE:004101fe 8b5d0c MOV EBX,dword ptr [EBP + id+0x4]
CODE:00410201 68fe000000 PUSH 0xfe ;int cchBufferMax for LoadStringA
CODE:00410206 8d8500ffffff LEA EAX=>scratch,[EBP + 0xffffff00]
CODE:0041020c 50 PUSH EAX ;LPSTR lpBuffer for LoadStringA
CODE:0041020d 53 PUSH EBX ;UINT uID for LoadStringA
CODE:0041020e ff355c484600 PUSH dword ptr [DATA:$Module] ;HINSTANCE hInstance for LoadStringA
CODE:00410214 e8e8530400 CALL USER32.DLL::LoadStringA ;int LoadStringA(HINSTANCE hInstance,...
CODE:00410219 85c0 TEST copied,copied
CODE:0041021b 7532 JNZ LAB_0041024f
CODE:0041021d 53 PUSH EBX
CODE:0041021e 6870014600 PUSH DATA:s_Cannot_Load_Resource_#%d_-_mis...;= "Cannot Load Resource #%d - missin...
CODE:00410223 8d8500ffffff LEA copied=>scratch,[EBP + 0xffffff00]
CODE:00410229 50 PUSH copied
CODE:0041022a e845280400 CALL Sprintf' ;int Sprintf'(char * dest, char * for...
CODE:0041022f 83c40c ADD ESP,0xc
CODE:00410232 6a10 PUSH 0x10 ;UINT uType for MessageBoxA
CODE:00410234 689c014600 PUSH DATA:lpCaption_0046019c ;LPCSTR lpCaption for MessageBoxA
CODE:00410239 8d8500ffffff LEA copied=>scratch,[EBP + 0xffffff00]
CODE:0041023f 50 PUSH copied ;LPCSTR lpText for MessageBoxA
CODE:00410240 6a00 PUSH 0x0 ;HWND hWnd for MessageBoxA
CODE:00410242 e8b4530400 CALL USER32.DLL::MessageBoxA ;int MessageBoxA(HWND hWnd, LPCSTR lp...
CODE:00410247 6a01 PUSH 0x1
CODE:00410249 e81a470400 CALL DoSomethingThenExit? ;void DoSomethingThenExit?(UINT exitC...
CODE:0041024e 59 POP ECX
LAB_0041024f: ;XREF[1]: 0041021b(j)
CODE:0041024f 8d8500ffffff LEA copied=>scratch,[EBP + 0xffffff00]
CODE:00410255 50 PUSH copied
CODE:00410256 ff7508 PUSH dword ptr [EBP + result+0x4]
CODE:00410259 e81efd0300 CALL Strcpy ;char * Strcpy(char * dest, char * src)
CODE:0041025e 83c408 ADD ESP,0x8
CODE:00410261 5b POP EBX
CODE:00410262 8be5 MOV ESP,EBP
CODE:00410264 5d POP EBP
CODE:00410265 c3 RET
CODE:00410266 00 ?? 00h
CODE:00410267 00 ?? 00h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410268(void)
;XREF[17]: 00419a90(c),0041f765(c),004259f0(c),0042776a(c),
; 0042c873(c),0042f85f(c),00432178(c),00432ac0(c),
; 004359bf(c),0043c6f2(c),0043ec24(c),0044377d(c),
; 00443e6c(c),004485ca(c),0044b8d4(c),0044c0c2(c),
; 0044ef85(c)
CODE:00410268 e8b1650100 CALL FUN_0042681e ;undefined FUN_0042681e(void)
CODE:0041026d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041026e(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined2 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined2 004102ab(*)
CODE:0041026e 55 PUSH EBP
CODE:0041026f 8bec MOV EBP,ESP
CODE:00410271 53 PUSH EBX
CODE:00410272 8b5d08 MOV EBX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00410275 6681fbff00 CMP BX,0xff
CODE:0041027a 7f1f JG LAB_0041029b
CODE:0041027c 668b450c MOV AX,word ptr [EBP + Stack[0x8]+0x4]
CODE:00410280 50 PUSH EAX
CODE:00410281 53 PUSH EBX
CODE:00410282 e8c1650100 CALL FUN_00426848 ;undefined FUN_00426848(undefined par...
CODE:00410287 83c408 ADD ESP,0x8
CODE:0041028a 833da4014... CMP dword ptr [DATA:DAT_004601a4],0x0
CODE:00410291 7408 JZ LAB_0041029b
CODE:00410293 53 PUSH EBX
CODE:00410294 ff15a4014600 CALL dword ptr [DATA:DAT_004601a4]
CODE:0041029a 59 POP ECX
LAB_0041029b: ;XREF[2]: 0041027a(j),00410291(j)
CODE:0041029b 5b POP EBX
CODE:0041029c 5d POP EBP
CODE:0041029d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041029e(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 00419b39(c),0041adfa(c),004220a3(c),00426a4d(c),
; 0042b611(c),0042fb16(c),00432223(c),0043263a(c),
; 00435424(c),0043c795(c),0043ed19(c),00440d28(c),
; 00445381(c),00447a6c(c),0044bc4b(c),0044c3e9(c),
; 0044efe3(c)
CODE:0041029e 55 PUSH EBP
CODE:0041029f 8bec MOV EBP,ESP
CODE:004102a1 66833da00... CMP word ptr [DATA:DAT_004601a0],0x0
CODE:004102a9 7513 JNZ LAB_004102be
CODE:004102ab c70528024... MOV dword ptr [DATA:...,FUN_0041026e ;= 0041226d
CODE:004102b5 66c705a00... MOV word ptr [DATA:DAT_004601a0],0x1
LAB_004102be: ;XREF[1]: 004102a9(j)
CODE:004102be 0fbf05a80... MOVSX EAX,word ptr [DATA:DAT_004601a8]
CODE:004102c5 8b5508 MOV EDX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:004102c8 891485b84... MOV dword ptr [EAX*0...,EDX
CODE:004102cf 8915a4014600 MOV dword ptr [DATA:DAT_004601a4],EDX
CODE:004102d5 5d POP EBP
CODE:004102d6 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004102d7(void)
;XREF[12]: 0041afd4(c),004222c2(c),00426b35(c),0042b787(c),
; 0042fb6d(c),0043280f(c),004355f5(c),0043c6d1(c),
; 00440ec2(c),004453fb(c),00447c6f(c),0044f59f(c)
CODE:004102d7 0fbf05a80... MOVSX EAX,word ptr [DATA:DAT_004601a8]
CODE:004102de 33d2 XOR EDX,EDX
CODE:004102e0 891485b84... MOV dword ptr [EAX*0...,EDX
CODE:004102e7 8915a4014600 MOV dword ptr [DATA:DAT_004601a4],EDX
CODE:004102ed c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004102ee(void)
;XREF[5]: 00419b17(c),004321e1(c),0043ecf7(c),0044c3c7(c),
; 0044efd9(c)
CODE:004102ee 66ff05a80... INC word ptr [DATA:DAT_004601a8]
CODE:004102f5 0fbf05a80... MOVSX EAX,word ptr [DATA:DAT_004601a8]
CODE:004102fc 33d2 XOR EDX,EDX
CODE:004102fe 891485b84... MOV dword ptr [EAX*0...,EDX
CODE:00410305 8915a4014600 MOV dword ptr [DATA:DAT_004601a4],EDX
CODE:0041030b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041030c(void)
;XREF[5]: 00419cf6(c),0043247b(c),0043f14c(c),0044c876(c),
; 0044f5a4(c)
CODE:0041030c 66ff0da80... DEC word ptr [DATA:DAT_004601a8]
CODE:00410313 0fbf05a80... MOVSX EAX,word ptr [DATA:DAT_004601a8]
CODE:0041031a 8b0485b84... MOV EAX,dword ptr [EAX*0x4 + DATA:DAT_004...
CODE:00410321 a3a4014600 MOV [DATA:DAT_004601a4],EAX
CODE:00410326 c3 RET
CODE:00410327 66 ?? 66h f
CODE:00410328 a1 ?? A1h
CODE:00410329 a8 ?? A8h ;? -> 004601a8
CODE:0041032a 01 ?? 01h
CODE:0041032b 46 ?? 46h F
CODE:0041032c 00 ?? 00h
CODE:0041032d c3 ?? C3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041032e(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 ;local_17 undefined1 -17 ;XREF[7]: 0041038d(*),004103a1(*),004103ab(*),004103b1(*),004103c5(*),
; 004103cf(*),004103d4(*)
;local_18 undefined1 -18 ;XREF[1]: 004103d9(*)
;local_2b undefined1 -2b ;XREF[6]: 00410393(*),0041039d(*),004103a7(*),004103b7(*),004103c1(*),
; 004103cb(*)
;local_2c undefined1 -2c ;XREF[2]: 00410338(*),0041034d(*)
;XREF[1]: 004444f6(c)
CODE:0041032e 55 PUSH EBP
CODE:0041032f 8bec MOV EBP,ESP
CODE:00410331 83c4d8 ADD ESP,-0x28
CODE:00410334 53 PUSH EBX
CODE:00410335 56 PUSH ESI
CODE:00410336 6a0a PUSH 0xa
CODE:00410338 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
CODE:0041033b 50 PUSH EAX
CODE:0041033c ff7508 PUSH dword ptr [EBP + Stack[0x4]+0x4]
CODE:0041033f e8243e0400 CALL FUN_00454168 ;undefined FUN_00454168(undefined par...
CODE:00410344 83c40c ADD ESP,0xc
CODE:00410347 33c0 XOR EAX,EAX
CODE:00410349 89c6 MOV ESI,EAX
CODE:0041034b 8bd8 MOV EBX,EAX
CODE:0041034d 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
CODE:00410350 50 PUSH EAX
CODE:00410351 e856fc0300 CALL FUN_0044ffac ;int FUN_0044ffac(undefined param_1, ...
CODE:00410356 59 POP ECX
CODE:00410357 83f807 CMP EAX,0x7
CODE:0041035a 7778 JA switchD_0041035c::caseD_0
switchD: ; FWD[9]: 00410363(R),00410383(j),00410393(j),0041039d(j),
; 004103a7(j),004103b7(j),004103c1(j),004103cb(j),
; 004103d4(j)
CODE:0041035c ff2485630... JMP dword ptr [EAX*0x4 + ->switchD_004103...;= 004103d4
switchdataD_00410363: ;XREF[1]: 0041035c(R)
CODE:00410363 d4034100 addr switchD_0041035c::caseD_0
CODE:00410367 cb034100 addr switchD_0041035c::caseD_1
CODE:0041036b c1034100 addr switchD_0041035c::caseD_2
CODE:0041036f b7034100 addr switchD_0041035c::caseD_3
CODE:00410373 a7034100 addr switchD_0041035c::caseD_4
CODE:00410377 9d034100 addr switchD_0041035c::caseD_5
CODE:0041037b 93034100 addr switchD_0041035c::caseD_6
CODE:0041037f 83034100 addr switchD_0041035c::caseD_7
caseD_7: ;XREF[2]: 0041035c(j),0041037f(*)
CODE:00410383 8a4435d8 MOV AL,byte ptr [EBP + ESI*0x1 + -0x28]
CODE:00410387 88441dec MOV byte ptr [EBP + EBX*0x1 + -0x14],AL
CODE:0041038b 46 INC ESI
CODE:0041038c 43 INC EBX
CODE:0041038d c6441dec2c MOV byte ptr [EBP + ...,0x2c
CODE:00410392 43 INC EBX
caseD_6: ;XREF[2]: 0041035c(j),0041037b(*)
CODE:00410393 8a4435d8 MOV AL,byte ptr [EBP + ESI*0x1 + local_2b...
CODE:00410397 88441dec MOV byte ptr [EBP + EBX*0x1 + -0x14],AL
CODE:0041039b 46 INC ESI
CODE:0041039c 43 INC EBX
caseD_5: ;XREF[2]: 0041035c(j),00410377(*)
CODE:0041039d 8a4435d8 MOV AL,byte ptr [EBP + ESI*0x1 + local_2b...
CODE:004103a1 88441dec MOV byte ptr [EBP + ...,AL
CODE:004103a5 46 INC ESI
CODE:004103a6 43 INC EBX
caseD_4: ;XREF[2]: 0041035c(j),00410373(*)
CODE:004103a7 8a4435d8 MOV AL,byte ptr [EBP + ESI*0x1 + local_2b...
CODE:004103ab 88441dec MOV byte ptr [EBP + ...,AL
CODE:004103af 46 INC ESI
CODE:004103b0 43 INC EBX
CODE:004103b1 c6441dec2c MOV byte ptr [EBP + ...,0x2c
CODE:004103b6 43 INC EBX
caseD_3: ;XREF[2]: 0041035c(j),0041036f(*)
CODE:004103b7 8a4435d8 MOV AL,byte ptr [EBP + ESI*0x1 + local_2b...
CODE:004103bb 88441dec MOV byte ptr [EBP + EBX*0x1 + -0x14],AL
CODE:004103bf 46 INC ESI
CODE:004103c0 43 INC EBX
caseD_2: ;XREF[2]: 0041035c(j),0041036b(*)
CODE:004103c1 8a4435d8 MOV AL,byte ptr [EBP + ESI*0x1 + local_2b...
CODE:004103c5 88441dec MOV byte ptr [EBP + ...,AL
CODE:004103c9 46 INC ESI
CODE:004103ca 43 INC EBX
caseD_1: ;XREF[2]: 0041035c(j),00410367(*)
CODE:004103cb 8a4435d8 MOV AL,byte ptr [EBP + ESI*0x1 + local_2b...
CODE:004103cf 88441dec MOV byte ptr [EBP + ...,AL
CODE:004103d3 43 INC EBX
caseD_0: ;XREF[3]: 0041035a(j),0041035c(j),00410363(*)
CODE:004103d4 c6441dec00 MOV byte ptr [EBP + ...,0x0
CODE:004103d9 8d45ec LEA EAX=>local_18,[EBP + -0x14]
CODE:004103dc 50 PUSH EAX
CODE:004103dd ff750c PUSH dword ptr [EBP + Stack[0x8]+0x4]
CODE:004103e0 e897fb0300 CALL Strcpy ;char * Strcpy(char * dest, char * src)
CODE:004103e5 83c408 ADD ESP,0x8
CODE:004103e8 5e POP ESI
CODE:004103e9 5b POP EBX
CODE:004103ea 8be5 MOV ESP,EBP
CODE:004103ec 5d POP EBP
CODE:004103ed c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void StringWithCurrentFontAndColor(short x, short y, char * value)
;x short 4 ;XREF[1]: 004103f9(R)
;y short 8 ;XREF[1]: 004103f4(R)
;value char * c ;XREF[1]: 004103f1(R)
;XREF[18]: 00417e61(c),00417e74(c),00417e91(c),00417eae(c),
; 0041957d(c),00422af6(c),0043fe26(c),0043ff5d(c),
; 0043ff86(c),00444520(c),00444549(c),004446c0(c),
; 00444702(c),00444749(c),004447a2(c),0044f63f(c),
; 0044f675(c),0044f6c5(c)
CODE:004103ee 55 PUSH EBP
CODE:004103ef 8bec MOV EBP,ESP
CODE:004103f1 ff7510 PUSH dword ptr [EBP + value+0x4]
CODE:004103f4 668b450c MOV AX,word ptr [EBP + y+0x4]
CODE:004103f8 50 PUSH EAX
CODE:004103f9 668b4508 MOV AX,word ptr [EBP + x+0x4]
CODE:004103fd 50 PUSH EAX
CODE:004103fe e8e2d30300 CALL Draw::StringWithCurrentFontAndColor ;void StringWithCurrentFontAndColor(u...
CODE:00410403 83c40c ADD ESP,0xc
CODE:00410406 5d POP EBP
CODE:00410407 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410408(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined2 param_5, undefined4 param_6)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined2 ;param_6 undefined4 ;local_6 undefined2 -6 ;XREF[2]: 00410417(W),00410457(R)
;local_8 undefined2 -8 ;XREF[3]: 00410435(W),0041044b(R),00410482(R)
;local_a undefined2 -a ;XREF[2]: 00410420(W),0041044f(R)
;XREF[4]: 00418c66(c),00431f63(c),0043cd61(c),0044c494(c)
CODE:00410408 55 PUSH EBP
CODE:00410409 8bec MOV EBP,ESP
CODE:0041040b 83c4f8 ADD ESP,-0x8
CODE:0041040e 53 PUSH EBX
CODE:0041040f 56 PUSH ESI
CODE:00410410 57 PUSH EDI
CODE:00410411 8b7d10 MOV EDI,dword ptr [EBP + Stack[0xc]+0x4]
CODE:00410414 8b7508 MOV ESI,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00410417 668975fe MOV word ptr [EBP + local_6+0x4],SI
CODE:0041041b e8fad30300 CALL FUN_0044d81a ;undefined2 FUN_0044d81a(void)
CODE:00410420 668945fa MOV word ptr [EBP + local_a+0x4],AX
CODE:00410424 66c705aa0... MOV word ptr [DATA:DAT_004601aa],0x404
CODE:0041042d 6aff PUSH -0x1
CODE:0041042f e85fc70300 CALL GetFontBaselineY? ;short GetFontBaselineY?(undefined2 p...
CODE:00410434 59 POP ECX
CODE:00410435 668945fc MOV word ptr [EBP + local_8+0x4],AX
CODE:00410439 eb5b JMP LAB_00410496
LAB_0041043b: ;XREF[1]: 0041049b(j)
CODE:0041043b 8bc3 MOV EAX,EBX
CODE:0041043d 2c0a SUB AL,0xa
CODE:0041043f 740a JZ LAB_0041044b
CODE:00410441 2c03 SUB AL,0x3
CODE:00410443 7406 JZ LAB_0041044b
CODE:00410445 2c6f SUB AL,0x6f
CODE:00410447 7414 JZ LAB_0041045d
CODE:00410449 eb31 JMP LAB_0041047c
LAB_0041044b: ;XREF[2]: 0041043f(j),00410443(j)
CODE:0041044b 668b45fc MOV AX,word ptr [EBP + local_8+0x4]
CODE:0041044f 660345fa ADD AX,word ptr [EBP + local_a+0x4]
CODE:00410453 6601450c ADD word ptr [EBP + Stack[0x8]+0x4],AX
CODE:00410457 668b75fe MOV SI,word ptr [EBP + local_6+0x4]
CODE:0041045b eb39 JMP LAB_00410496
LAB_0041045d: ;XREF[1]: 00410447(j)
CODE:0041045d 66833dac0... CMP word ptr [DATA:DAT_004601ac],0x0
CODE:00410465 7415 JZ LAB_0041047c
CODE:00410467 66a1aa014600 MOV AX,[DATA:DAT_004601aa]
CODE:0041046d 50 PUSH EAX
CODE:0041046e e88ed00300 CALL SetCurrentColor ;short SetCurrentColor(short color)
CODE:00410473 59 POP ECX
CODE:00410474 66a3aa014600 MOV [DATA:DAT_004601aa],AX
CODE:0041047a eb1a JMP LAB_00410496
LAB_0041047c: ;XREF[2]: 00410449(j),00410465(j)
CODE:0041047c 6aff PUSH -0x1
CODE:0041047e 668b450c MOV AX,word ptr [EBP + Stack[0x8]+0x4]
CODE:00410482 660345fc ADD AX,word ptr [EBP + local_8+0x4]
CODE:00410486 50 PUSH EAX
CODE:00410487 56 PUSH ESI
CODE:00410488 53 PUSH EBX
CODE:00410489 6aff PUSH -0x1
CODE:0041048b e83bcb0300 CALL FUN_0044cfcb ;uint FUN_0044cfcb(undefined param_1,...
CODE:00410490 83c414 ADD ESP,0x14
CODE:00410493 6603f0 ADD SI,AX
LAB_00410496: ;XREF[3]: 00410439(j),0041045b(j),0041047a(j)
CODE:00410496 8a1f MOV BL,byte ptr [EDI]
CODE:00410498 47 INC EDI
CODE:00410499 84db TEST BL,BL
CODE:0041049b 759e JNZ LAB_0041043b
CODE:0041049d 5f POP EDI
CODE:0041049e 5e POP ESI
CODE:0041049f 5b POP EBX
CODE:004104a0 59 POP ECX
CODE:004104a1 59 POP ECX
CODE:004104a2 5d POP EBP
CODE:004104a3 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004104a4(undefined4 param_1, undefined4 param_2, undefined4 param_3, undefined2 * param_4, undefined2 * param_5)
;param_1 undefined4 EAX
;param_2 undefined4 EDX
;param_3 undefined4 ECX
;param_4 undefined2 * 4 ;XREF[1]: 004104b6(R)
;param_5 undefined2 * 8 ;XREF[1]: 004104c0(R)
;local_6 undefined2 -6 ;XREF[1]: 004104bc(R)
;local_8 undefined2 -8 ;XREF[2]: 004104a8(*),004104b2(R)
;XREF[7]: 0041b020(c),00425ea7(c),004277a0(c),0042b817(c),
; 004328f1(c),0043566e(c),00447ded(c)
CODE:004104a4 55 PUSH EBP
CODE:004104a5 8bec MOV EBP,ESP
CODE:004104a7 51 PUSH param_3
CODE:004104a8 8d45fc LEA param_1=>local_8,[EBP + -0x4]
CODE:004104ab 50 PUSH param_1
CODE:004104ac e84cf70300 CALL FUN_0044fbfd ;undefined FUN_0044fbfd(undefined par...
CODE:004104b1 59 POP param_3
CODE:004104b2 668b45fc MOV param_1,word ptr [EBP + local_8+0x4]
CODE:004104b6 8b5508 MOV param_2,dword ptr [EBP + param_4+0x4]
CODE:004104b9 668902 MOV word ptr [param_2],param_1
CODE:004104bc 668b45fe MOV param_1,word ptr [EBP + local_6+0x4]
CODE:004104c0 8b550c MOV param_2,dword ptr [EBP + param_5+0x4]
CODE:004104c3 668902 MOV word ptr [param_2],param_1
CODE:004104c6 59 POP param_3
CODE:004104c7 5d POP EBP
CODE:004104c8 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004104c9(void)
;XREF[1]: 0042ff49(c)
CODE:004104c9 e8786c0300 CALL FUN_00447146 ;undefined2 FUN_00447146(void)
CODE:004104ce 6685c0 TEST AX,AX
CODE:004104d1 7414 JZ LAB_004104e7
CODE:004104d3 e8676c0300 CALL FUN_0044713f ;undefined2 FUN_0044713f(void)
CODE:004104d8 6685c0 TEST AX,AX
CODE:004104db 740a JZ LAB_004104e7
CODE:004104dd e86b6c0300 CALL FUN_0044714d ;undefined2 FUN_0044714d(void)
CODE:004104e2 6685c0 TEST AX,AX
CODE:004104e5 7504 JNZ LAB_004104eb
LAB_004104e7: ;XREF[2]: 004104d1(j),004104db(j)
CODE:004104e7 33c0 XOR EAX,EAX
CODE:004104e9 eb05 JMP LAB_004104f0
LAB_004104eb: ;XREF[1]: 004104e5(j)
CODE:004104eb b801000000 MOV EAX,0x1
LAB_004104f0: ;XREF[1]: 004104e9(j)
CODE:004104f0 6685c0 TEST AX,AX
CODE:004104f3 7419 JZ LAB_0041050e
CODE:004104f5 6a00 PUSH 0x0
CODE:004104f7 e8b46b0300 CALL FUN_004470b0 ;undefined FUN_004470b0(undefined par...
CODE:004104fc 59 POP ECX
CODE:004104fd 6a00 PUSH 0x0
CODE:004104ff e8cd6b0300 CALL FUN_004470d1 ;undefined FUN_004470d1(undefined par...
CODE:00410504 59 POP ECX
CODE:00410505 6a00 PUSH 0x0
CODE:00410507 e8486c0300 CALL FUN_00447154 ;undefined FUN_00447154(undefined par...
CODE:0041050c 59 POP ECX
CODE:0041050d c3 RET
LAB_0041050e: ;XREF[1]: 004104f3(j)
CODE:0041050e 6a01 PUSH 0x1
CODE:00410510 e89b6b0300 CALL FUN_004470b0 ;undefined FUN_004470b0(undefined par...
CODE:00410515 59 POP ECX
CODE:00410516 6a01 PUSH 0x1
CODE:00410518 e8b46b0300 CALL FUN_004470d1 ;undefined FUN_004470d1(undefined par...
CODE:0041051d 59 POP ECX
CODE:0041051e 6a01 PUSH 0x1
CODE:00410520 e82f6c0300 CALL FUN_00447154 ;undefined FUN_00447154(undefined par...
CODE:00410525 59 POP ECX
CODE:00410526 c3 RET
CODE:00410527 00 ?? 00h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410528(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 00440378(c),0044044b(c)
CODE:00410528 55 PUSH EBP
CODE:00410529 8bec MOV EBP,ESP
CODE:0041052b 53 PUSH EBX
CODE:0041052c 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:0041052f 85c0 TEST EAX,EAX
CODE:00410531 747a JZ LAB_004105ad
CODE:00410533 8bd8 MOV EBX,EAX
CODE:00410535 6683e37f AND BX,0x7f
CODE:00410539 0fbfc3 MOVSX EAX,BX
CODE:0041053c 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:0041053f 833c85cc4... CMP dword ptr [EAX*0...,0x0 ;= 00000000
CODE:00410547 7421 JZ LAB_0041056a
CODE:00410549 0fbfc3 MOVSX EAX,BX
CODE:0041054c 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:0041054f ff3485cc4... PUSH dword ptr [EAX*0x4 + DATA:hFile_00464...;HANDLE hObject for CloseHandle
CODE:00410556 e86e4f0400 CALL KERNEL32.DLL::CloseHandle ;BOOL CloseHandle(HANDLE hObject)
CODE:0041055b 0fbfc3 MOVSX EAX,BX
CODE:0041055e 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00410561 33d2 XOR EDX,EDX
CODE:00410563 891485cc4... MOV dword ptr [EAX*0...,EDX ;= 00000000
LAB_0041056a: ;XREF[1]: 00410547(j)
CODE:0041056a 0fbfc3 MOVSX EAX,BX
CODE:0041056d 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00410570 833c85d04... CMP dword ptr [EAX*0...,0x0 ;= 00000000
CODE:00410578 7433 JZ LAB_004105ad
CODE:0041057a 0fbfc3 MOVSX EAX,BX
CODE:0041057d 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00410580 ff3485d04... PUSH dword ptr [EAX*0x4 + DATA:hMem_004646d0];HGLOBAL hMem for GlobalUnlock
CODE:00410587 e827500400 CALL KERNEL32.DLL::GlobalUnlock ;BOOL GlobalUnlock(HGLOBAL hMem)
CODE:0041058c 0fbfc3 MOVSX EAX,BX
CODE:0041058f 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00410592 ff3485d04... PUSH dword ptr [EAX*0x4 + DATA:hMem_004646d0];HGLOBAL hMem for GlobalFree
CODE:00410599 e8e34e0400 CALL KERNEL32.DLL::GlobalFree ;HGLOBAL GlobalFree(HGLOBAL hMem)
CODE:0041059e 0fbfc3 MOVSX EAX,BX
CODE:004105a1 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:004105a4 33d2 XOR EDX,EDX
CODE:004105a6 891485d04... MOV dword ptr [EAX*0...,EDX ;= 00000000
LAB_004105ad: ;XREF[2]: 00410531(j),00410578(j)
CODE:004105ad 5b POP EBX
CODE:004105ae 5d POP EBP
CODE:004105af c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004105b0(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;local_8 undefined4 -8 ;XREF[10]: 004105f9(W),004105fc(R),0041061a(R),0041063b(R),0041064f(R),
; 00410699(R),004106ae(R),004106f8(R),0041070f(R),004107d5(R)
;local_c undefined4 -c ;XREF[6]: 0041060b(W),00410672(W),00410675(R),0041067f(R),004107c7(R),
; 004107e5(R)
;local_10 undefined4 -10 ;XREF[9]: 00410687(W),004106ab(R),004106be(R),004106e4(R),0041072a(R),
; 00410779(R),00410788(R),0041079a(R),004107ae(R)
;local_12 undefined2 -12 ;XREF[12]: 0041062e(W),00410636(R),0041068e(R),004106ce(W),004106e0(R),
; 00410721(RW),00410726(R),00410740(RW),0041076f(W),00410775(R),
; 004107a5(RW),004107aa(R)
;local_18 undefined1 -18 ;XREF[4]: 00410610(*),00410645(*),004106a3(*),00410705(*)
;local_1c undefined4 -1c ;XREF[4]: 004106dd(W),004106f5(R),00410700(W),00410756(RW)
;local_22 undefined4 -22 ;XREF[2,1]: 0041071b(R),00410737(R),00410745(R)
;local_28 undefined1 -28 ;XREF[1]: 0041070b(*)
;local_2c undefined2 -2c ;XREF[1]: 0041062a(R)
;local_42 undefined2 -42 ;XREF[1]: 0041065f(R)
;local_44 undefined2 -44 ;XREF[2]: 00410663(R),00410692(R)
;local_68 undefined1 -68 ;XREF[2]: 00410616(*),0041064b(*)
;XREF[1]: 004402ee(c)
CODE:004105b0 55 PUSH EBP
CODE:004105b1 8bec MOV EBP,ESP
CODE:004105b3 83c49c ADD ESP,-0x64
CODE:004105b6 53 PUSH EBX
CODE:004105b7 56 PUSH ESI
CODE:004105b8 57 PUSH EDI
CODE:004105b9 33db XOR EBX,EBX
LAB_004105bb: ;XREF[1]: 004105d0(j)
CODE:004105bb 0fbfc3 MOVSX EAX,BX
CODE:004105be 8d0440 LEA EAX,[EAX + EAX*0x2]
; FWD[2]: 004646cc(R),004646d8(R)
CODE:004105c1 833c85cc4... CMP dword ptr [EAX*0...,0x0 ;= 00000000
CODE:004105c9 7407 JZ LAB_004105d2
CODE:004105cb 43 INC EBX
CODE:004105cc 6683fb1e CMP BX,0x1e
CODE:004105d0 7ce9 JL LAB_004105bb
LAB_004105d2: ;XREF[1]: 004105c9(j)
CODE:004105d2 6683fb1e CMP BX,0x1e
CODE:004105d6 7c07 JL LAB_004105df
CODE:004105d8 33c0 XOR EAX,EAX
CODE:004105da e918020000 JMP LAB_004107f7
LAB_004105df: ;XREF[1]: 004105d6(j)
CODE:004105df 6a00 PUSH 0x0 ;HANDLE hTemplateFile for CreateFileA
CODE:004105e1 6880000000 PUSH 0x80 ;DWORD dwFlagsAndAttributes for Creat...
CODE:004105e6 6a03 PUSH 0x3 ;DWORD dwCreationDisposition for Crea...
CODE:004105e8 6a00 PUSH 0x0 ;LPSECURITY_ATTRIBUTES lpSecurityAttr...
CODE:004105ea 6a01 PUSH 0x1 ;DWORD dwShareMode for CreateFileA
CODE:004105ec 6800000080 PUSH 0x80000000 ;DWORD dwDesiredAccess for CreateFileA
CODE:004105f1 ff7508 PUSH dword ptr [EBP + Stack[0x4]+0x4] ;LPCSTR lpFileName for CreateFileA
CODE:004105f4 e86c4f0400 CALL KERNEL32.DLL::CreateFileA ;HANDLE CreateFileA(LPCSTR lpFileName...
CODE:004105f9 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
CODE:004105fc 837dfcff CMP dword ptr [EBP + local_8+0x4],-0x1
CODE:00410600 7507 JNZ LAB_00410609
CODE:00410602 33c0 XOR EAX,EAX
CODE:00410604 e9ee010000 JMP LAB_004107f7
LAB_00410609: ;XREF[1]: 00410600(j)
CODE:00410609 33c0 XOR EAX,EAX
CODE:0041060b 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
CODE:0041060e 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for ReadFile
CODE:00410610 8d45ec LEA EAX=>local_18,[EBP + -0x14]
CODE:00410613 50 PUSH EAX ;LPDWORD lpNumberOfBytesRead for Read...
CODE:00410614 6a40 PUSH 0x40 ;DWORD nNumberOfBytesToRead for ReadFile
CODE:00410616 8d459c LEA EAX=>local_68,[EBP + -0x64]
CODE:00410619 50 PUSH EAX ;LPVOID lpBuffer for ReadFile
CODE:0041061a ff75fc PUSH dword ptr [EBP + local_8+0x4] ;HANDLE hFile for ReadFile
CODE:0041061d e87f4f0400 CALL KERNEL32.DLL::ReadFile ;BOOL ReadFile(HANDLE hFile, LPVOID l...
CODE:00410622 85c0 TEST EAX,EAX
CODE:00410624 0f84a5010000 JZ LAB_004107cf
CODE:0041062a 668b45d8 MOV AX,word ptr [EBP + local_2c+0x4]
CODE:0041062e 668945f2 MOV word ptr [EBP + local_12+0x4],AX
CODE:00410632 6a00 PUSH 0x0 ;DWORD dwMoveMethod for SetFilePointer
CODE:00410634 6a00 PUSH 0x0 ;PLONG lpDistanceToMoveHigh for SetFi...
CODE:00410636 0fb745f2 MOVZX EAX,word ptr [EBP + local_12+0x4]
CODE:0041063a 50 PUSH EAX ;LONG lDistanceToMove for SetFilePointer
CODE:0041063b ff75fc PUSH dword ptr [EBP + local_8+0x4] ;HANDLE hFile for SetFilePointer
CODE:0041063e e8404f0400 CALL KERNEL32.DLL::SetFilePointer ;DWORD SetFilePointer(HANDLE hFile, L...
CODE:00410643 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for ReadFile
CODE:00410645 8d45ec LEA EAX=>local_18,[EBP + -0x14]
CODE:00410648 50 PUSH EAX ;LPDWORD lpNumberOfBytesRead for Read...
CODE:00410649 6a40 PUSH 0x40 ;DWORD nNumberOfBytesToRead for ReadFile
CODE:0041064b 8d459c LEA EAX=>local_68,[EBP + -0x64]
CODE:0041064e 50 PUSH EAX ;LPVOID lpBuffer for ReadFile
CODE:0041064f ff75fc PUSH dword ptr [EBP + local_8+0x4] ;HANDLE hFile for ReadFile
CODE:00410652 e84a4f0400 CALL KERNEL32.DLL::ReadFile ;BOOL ReadFile(HANDLE hFile, LPVOID l...
CODE:00410657 85c0 TEST EAX,EAX
CODE:00410659 0f8470010000 JZ LAB_004107cf
CODE:0041065f 668b75c2 MOV SI,word ptr [EBP + local_42+0x4]
CODE:00410663 662b75c0 SUB SI,word ptr [EBP + local_44+0x4]
CODE:00410667 0fb7c6 MOVZX EAX,SI
CODE:0041066a 50 PUSH EAX ;SIZE_T dwBytes for GlobalAlloc
CODE:0041066b 6a00 PUSH 0x0 ;UINT uFlags for GlobalAlloc
CODE:0041066d e8ab4e0400 CALL KERNEL32.DLL::GlobalAlloc ;HGLOBAL GlobalAlloc(UINT uFlags, SIZ...
CODE:00410672 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
CODE:00410675 837df800 CMP dword ptr [EBP + local_c+0x4],0x0
CODE:00410679 0f8450010000 JZ LAB_004107cf
CODE:0041067f ff75f8 PUSH dword ptr [EBP + local_c+0x4] ;HGLOBAL hMem for GlobalLock
CODE:00410682 e89c4e0400 CALL KERNEL32.DLL::GlobalLock ;LPVOID GlobalLock(HGLOBAL hMem)
CODE:00410687 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
CODE:0041068a 6a00 PUSH 0x0 ;DWORD dwMoveMethod for SetFilePointer
CODE:0041068c 6a00 PUSH 0x0 ;PLONG lpDistanceToMoveHigh for SetFi...
CODE:0041068e 0fb745f2 MOVZX EAX,word ptr [EBP + local_12+0x4]
CODE:00410692 0fb755c0 MOVZX EDX,word ptr [EBP + local_44+0x4]
CODE:00410696 03c2 ADD EAX,EDX
CODE:00410698 50 PUSH EAX ;LONG lDistanceToMove for SetFilePointer
CODE:00410699 ff75fc PUSH dword ptr [EBP + local_8+0x4] ;HANDLE hFile for SetFilePointer
CODE:0041069c e8e24e0400 CALL KERNEL32.DLL::SetFilePointer ;DWORD SetFilePointer(HANDLE hFile, L...
CODE:004106a1 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for ReadFile
CODE:004106a3 8d45ec LEA EAX=>local_18,[EBP + -0x14]
CODE:004106a6 50 PUSH EAX ;LPDWORD lpNumberOfBytesRead for Read...
CODE:004106a7 0fb7c6 MOVZX EAX,SI
CODE:004106aa 50 PUSH EAX ;DWORD nNumberOfBytesToRead for ReadFile
CODE:004106ab ff75f4 PUSH dword ptr [EBP + local_10+0x4] ;LPVOID lpBuffer for ReadFile
CODE:004106ae ff75fc PUSH dword ptr [EBP + local_8+0x4] ;HANDLE hFile for ReadFile
CODE:004106b1 e8eb4e0400 CALL KERNEL32.DLL::ReadFile ;BOOL ReadFile(HANDLE hFile, LPVOID l...
CODE:004106b6 85c0 TEST EAX,EAX
CODE:004106b8 0f8409010000 JZ LAB_004107c7
CODE:004106be 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
CODE:004106c1 668b5002 MOV DX,word ptr [EAX + 0x2]
CODE:004106c5 f6c680 TEST DH,0x80
CODE:004106c8 0f84a1000000 JZ LAB_0041076f
CODE:004106ce 66c745f21600 MOV word ptr [EBP + local_12+0x4],0x16
CODE:004106d4 668b08 MOV CX,word ptr [EAX]
CODE:004106d7 0fb7400a MOVZX EAX,word ptr [EAX + 0xa]
CODE:004106db d3e0 SHL EAX,CL
CODE:004106dd 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
LAB_004106e0: ;XREF[1]: 00410767(j)
CODE:004106e0 0fb775f2 MOVZX ESI,word ptr [EBP + local_12+0x4]
CODE:004106e4 0375f4 ADD ESI,dword ptr [EBP + local_10+0x4]
CODE:004106e7 66833e00 CMP word ptr [ESI],0x0
CODE:004106eb 0f84d6000000 JZ LAB_004107c7
CODE:004106f1 6a00 PUSH 0x0 ;DWORD dwMoveMethod for SetFilePointer
CODE:004106f3 6a00 PUSH 0x0 ;PLONG lpDistanceToMoveHigh for SetFi...
CODE:004106f5 ff75e8 PUSH dword ptr [EBP + local_1c+0x4] ;LONG lDistanceToMove for SetFilePointer
CODE:004106f8 ff75fc PUSH dword ptr [EBP + local_8+0x4] ;HANDLE hFile for SetFilePointer
CODE:004106fb e8834e0400 CALL KERNEL32.DLL::SetFilePointer ;DWORD SetFilePointer(HANDLE hFile, L...
CODE:00410700 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
CODE:00410703 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for ReadFile
CODE:00410705 8d45ec LEA EAX=>local_18,[EBP + -0x14]
CODE:00410708 50 PUSH EAX ;LPDWORD lpNumberOfBytesRead for Read...
CODE:00410709 6a0c PUSH 0xc ;DWORD nNumberOfBytesToRead for ReadFile
CODE:0041070b 8d45dc LEA EAX=>local_28,[EBP + -0x24]
CODE:0041070e 50 PUSH EAX ;LPVOID lpBuffer for ReadFile
CODE:0041070f ff75fc PUSH dword ptr [EBP + local_8+0x4] ;HANDLE hFile for ReadFile
CODE:00410712 e88a4e0400 CALL KERNEL32.DLL::ReadFile ;BOOL ReadFile(HANDLE hFile, LPVOID l...
CODE:00410717 85c0 TEST EAX,EAX
CODE:00410719 7447 JZ LAB_00410762
CODE:0041071b 8b45e2 MOV EAX,dword ptr [EBP + local_22+0x4]
CODE:0041071e 894604 MOV dword ptr [ESI + 0x4],EAX
CODE:00410721 668345f208 ADD word ptr [EBP + local_12+0x4],0x8
CODE:00410726 0fb755f2 MOVZX EDX,word ptr [EBP + local_12+0x4]
CODE:0041072a 0355f4 ADD EDX,dword ptr [EBP + local_10+0x4]
CODE:0041072d 33c0 XOR EAX,EAX
CODE:0041072f eb29 JMP LAB_0041075a
LAB_00410731: ;XREF[1]: 00410760(j)
CODE:00410731 66816206ff7f AND word ptr [EDX + 0x6],0x7fff
CODE:00410737 8b4de2 MOV ECX,dword ptr [EBP + local_22+0x4]
CODE:0041073a 894a08 MOV dword ptr [EDX + 0x8],ECX
CODE:0041073d 83c20c ADD EDX,0xc
CODE:00410740 668345f20c ADD word ptr [EBP + local_12+0x4],0xc
CODE:00410745 807de500 CMP byte ptr [EBP + local_22+0x7],0x0
CODE:00410749 0f94c1 SETZ CL
CODE:0041074c 83e101 AND ECX,0x1
CODE:0041074f bf0c000000 MOV EDI,0xc
CODE:00410754 2bf9 SUB EDI,ECX
CODE:00410756 017de8 ADD dword ptr [EBP + local_1c+0x4],EDI
CODE:00410759 40 INC EAX
LAB_0041075a: ;XREF[1]: 0041072f(j)
CODE:0041075a 0fb74e02 MOVZX ECX,word ptr [ESI + 0x2]
CODE:0041075e 3bc1 CMP EAX,ECX
CODE:00410760 7ccf JL LAB_00410731
LAB_00410762: ;XREF[1]: 00410719(j)
CODE:00410762 66837e0200 CMP word ptr [ESI + 0x2],0x0
CODE:00410767 0f8573ffffff JNZ LAB_004106e0
CODE:0041076d eb58 JMP LAB_004107c7
LAB_0041076f: ;XREF[1]: 004106c8(j)
CODE:0041076f 66c745f20200 MOV word ptr [EBP + local_12+0x4],0x2
CODE:00410775 0fb775f2 MOVZX ESI,word ptr [EBP + local_12+0x4]
CODE:00410779 0375f4 ADD ESI,dword ptr [EBP + local_10+0x4]
CODE:0041077c 33c0 XOR EAX,EAX
CODE:0041077e 894604 MOV dword ptr [ESI + 0x4],EAX
CODE:00410781 33c0 XOR EAX,EAX
CODE:00410783 eb12 JMP LAB_00410797
LAB_00410785: ;XREF[1]: 004107a3(j)
CODE:00410785 0fb7ca MOVZX ECX,DX
CODE:00410788 8b7df4 MOV EDI,dword ptr [EBP + local_10+0x4]
CODE:0041078b 8d0c0f LEA ECX,[EDI + ECX*0x1]
CODE:0041078e 8a4c0101 MOV CL,byte ptr [ECX + EAX*0x1 + 0x1]
CODE:00410792 884c0604 MOV byte ptr [ESI + EAX*0x1 + 0x4],CL
CODE:00410796 40 INC EAX
LAB_00410797: ;XREF[1]: 00410783(j)
CODE:00410797 0fb7ca MOVZX ECX,DX
CODE:0041079a 8b7df4 MOV EDI,dword ptr [EBP + local_10+0x4]
CODE:0041079d 0fbe0c0f MOVSX ECX,byte ptr [EDI + ECX*0x1]
CODE:004107a1 3bc1 CMP EAX,ECX
CODE:004107a3 7ce0 JL LAB_00410785
CODE:004107a5 668345f208 ADD word ptr [EBP + local_12+0x4],0x8
CODE:004107aa 0fb755f2 MOVZX EDX,word ptr [EBP + local_12+0x4]
CODE:004107ae 0355f4 ADD EDX,dword ptr [EBP + local_10+0x4]
CODE:004107b1 33c0 XOR EAX,EAX
CODE:004107b3 eb0a JMP LAB_004107bf
LAB_004107b5: ;XREF[1]: 004107c5(j)
CODE:004107b5 66816206ff7f AND word ptr [EDX + 0x6],0x7fff
CODE:004107bb 83c20c ADD EDX,0xc
CODE:004107be 40 INC EAX
LAB_004107bf: ;XREF[1]: 004107b3(j)
CODE:004107bf 0fb74e02 MOVZX ECX,word ptr [ESI + 0x2]
CODE:004107c3 3bc1 CMP EAX,ECX
CODE:004107c5 7cee JL LAB_004107b5
LAB_004107c7: ;XREF[3]: 004106b8(j),004106eb(j),0041076d(j)
CODE:004107c7 ff75f8 PUSH dword ptr [EBP + local_c+0x4] ;HGLOBAL hMem for GlobalUnlock
CODE:004107ca e8e44d0400 CALL KERNEL32.DLL::GlobalUnlock ;BOOL GlobalUnlock(HGLOBAL hMem)
LAB_004107cf: ;XREF[3]: 00410624(j),00410659(j),00410679(j)
CODE:004107cf 0fbfc3 MOVSX EAX,BX
CODE:004107d2 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:004107d5 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
CODE:004107d8 891485cc4... MOV dword ptr [EAX*0...,EDX
CODE:004107df 0fbfc3 MOVSX EAX,BX
CODE:004107e2 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:004107e5 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
CODE:004107e8 891485d04... MOV dword ptr [EAX*0...,EDX
CODE:004107ef 0fbfc3 MOVSX EAX,BX
CODE:004107f2 0d80000000 OR EAX,0x80
LAB_004107f7: ;XREF[2]: 004105da(j),00410604(j)
CODE:004107f7 5f POP EDI
CODE:004107f8 5e POP ESI
CODE:004107f9 5b POP EBX
CODE:004107fa 8be5 MOV ESP,EBP
CODE:004107fc 5d POP EBP
CODE:004107fd c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004107fe(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined2 param_5, undefined4 param_6)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined2 ;param_6 undefined4 ;local_8 undefined4 -8 ;XREF[6]: 0041083d(W),00410840(R),00410853(R),0041087e(R),004108cd(R),
; 004108df(R)
;local_a undefined2 -a ;XREF[5]: 00410826(W),0041082a(R),0041088f(R),004108f0(R),0041091b(R)
;local_c undefined2 -c ;XREF[3]: 00410816(W),00410889(R),004108ea(R)
;local_10 undefined4 -10 ;XREF[3]: 0041081f(W),00410867(R),004108d3(R)
;XREF[2]: 00440589(c),00440849(c)
CODE:004107fe 55 PUSH EBP
CODE:004107ff 8bec MOV EBP,ESP
CODE:00410801 83c4f4 ADD ESP,-0xc
CODE:00410804 53 PUSH EBX
CODE:00410805 56 PUSH ESI
CODE:00410806 57 PUSH EDI
CODE:00410807 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:0041080a 85c0 TEST EAX,EAX
CODE:0041080c 0f841c010000 JZ LAB_0041092e
CODE:00410812 668b550c MOV DX,word ptr [EBP + Stack[0x8]+0x4]
CODE:00410816 668955f8 MOV word ptr [EBP + local_c+0x4],DX
CODE:0041081a 8b5510 MOV EDX,dword ptr [EBP + Stack[0xc]+0x4]
CODE:0041081d 8b12 MOV EDX,dword ptr [EDX]
CODE:0041081f 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
CODE:00410822 6683e07f AND AX,0x7f
CODE:00410826 668945fa MOV word ptr [EBP + local_a+0x4],AX
CODE:0041082a 0fbf45fa MOVSX EAX,word ptr [EBP + local_a+0x4]
CODE:0041082e 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00410831 ff3485d04... PUSH dword ptr [EAX*0x4 + DATA:hMem_004646d0];HGLOBAL hMem for GlobalLock
CODE:00410838 e8e64c0400 CALL KERNEL32.DLL::GlobalLock ;LPVOID GlobalLock(HGLOBAL hMem)
CODE:0041083d 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
CODE:00410840 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
CODE:00410843 668b4002 MOV AX,word ptr [EAX + 0x2]
CODE:00410847 f6c480 TEST AH,0x80
CODE:0041084a 747a JZ LAB_004108c6
CODE:0041084c 66bb1600 MOV BX,0x16
LAB_00410850: ;XREF[1]: 004108c2(j)
CODE:00410850 0fb7cb MOVZX ECX,BX
CODE:00410853 034dfc ADD ECX,dword ptr [EBP + local_8+0x4]
CODE:00410856 66833900 CMP word ptr [ECX],0x0
CODE:0041085a 0f84bb000000 JZ LAB_0041091b
CODE:00410860 6683c308 ADD BX,0x8
CODE:00410864 8b4104 MOV EAX,dword ptr [ECX + 0x4]
CODE:00410867 3b45f4 CMP EAX,dword ptr [EBP + local_10+0x4]
CODE:0041086a 740f JZ LAB_0041087b
CODE:0041086c 0fb74102 MOVZX EAX,word ptr [ECX + 0x2]
CODE:00410870 c1e002 SHL EAX,0x2
CODE:00410873 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00410876 6603d8 ADD BX,AX
CODE:00410879 eb42 JMP LAB_004108bd
LAB_0041087b: ;XREF[1]: 0041086a(j)
CODE:0041087b 0fb7c3 MOVZX EAX,BX
CODE:0041087e 0345fc ADD EAX,dword ptr [EBP + local_8+0x4]
CODE:00410881 33d2 XOR EDX,EDX
CODE:00410883 eb2d JMP LAB_004108b2
LAB_00410885: ;XREF[1]: 004108bb(j)
CODE:00410885 668b7006 MOV SI,word ptr [EAX + 0x6]
CODE:00410889 663b75f8 CMP SI,word ptr [EBP + local_c+0x4]
CODE:0041088d 751b JNZ LAB_004108aa
CODE:0041088f 0fbf45fa MOVSX EAX,word ptr [EBP + local_a+0x4]
CODE:00410893 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00410896 ff3485d04... PUSH dword ptr [EAX*0x4 + DATA:hMem_004646d0];HGLOBAL hMem for GlobalUnlock
CODE:0041089d e8114d0400 CALL KERNEL32.DLL::GlobalUnlock ;BOOL GlobalUnlock(HGLOBAL hMem)
CODE:004108a2 0fb7c3 MOVZX EAX,BX
CODE:004108a5 e986000000 JMP LAB_00410930
LAB_004108aa: ;XREF[1]: 0041088d(j)
CODE:004108aa 83c00c ADD EAX,0xc
CODE:004108ad 6683c30c ADD BX,0xc
CODE:004108b1 42 INC EDX
LAB_004108b2: ;XREF[1]: 00410883(j)
CODE:004108b2 0fbff2 MOVSX ESI,DX
CODE:004108b5 0fb77902 MOVZX EDI,word ptr [ECX + 0x2]
CODE:004108b9 3bf7 CMP ESI,EDI
CODE:004108bb 7cc8 JL LAB_00410885
LAB_004108bd: ;XREF[1]: 00410879(j)
CODE:004108bd 6683790200 CMP word ptr [ECX + 0x2],0x0
CODE:004108c2 758c JNZ LAB_00410850
CODE:004108c4 eb55 JMP LAB_0041091b
LAB_004108c6: ;XREF[1]: 0041084a(j)
CODE:004108c6 66bb0200 MOV BX,0x2
CODE:004108ca 0fb7cb MOVZX ECX,BX
CODE:004108cd 034dfc ADD ECX,dword ptr [EBP + local_8+0x4]
CODE:004108d0 8b4104 MOV EAX,dword ptr [ECX + 0x4]
CODE:004108d3 3b45f4 CMP EAX,dword ptr [EBP + local_10+0x4]
CODE:004108d6 7543 JNZ LAB_0041091b
CODE:004108d8 6683c308 ADD BX,0x8
CODE:004108dc 0fb7c3 MOVZX EAX,BX
CODE:004108df 0345fc ADD EAX,dword ptr [EBP + local_8+0x4]
CODE:004108e2 33d2 XOR EDX,EDX
CODE:004108e4 eb2a JMP LAB_00410910
LAB_004108e6: ;XREF[1]: 00410919(j)
CODE:004108e6 668b7006 MOV SI,word ptr [EAX + 0x6]
CODE:004108ea 663b75f8 CMP SI,word ptr [EBP + local_c+0x4]
CODE:004108ee 7518 JNZ LAB_00410908
CODE:004108f0 0fbf45fa MOVSX EAX,word ptr [EBP + local_a+0x4]
CODE:004108f4 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:004108f7 ff3485d04... PUSH dword ptr [EAX*0x4 + DATA:hMem_004646d0];HGLOBAL hMem for GlobalUnlock
CODE:004108fe e8b04c0400 CALL KERNEL32.DLL::GlobalUnlock ;BOOL GlobalUnlock(HGLOBAL hMem)
CODE:00410903 0fb7c3 MOVZX EAX,BX
CODE:00410906 eb28 JMP LAB_00410930
LAB_00410908: ;XREF[1]: 004108ee(j)
CODE:00410908 83c00c ADD EAX,0xc
CODE:0041090b 6683c30c ADD BX,0xc
CODE:0041090f 42 INC EDX
LAB_00410910: ;XREF[1]: 004108e4(j)
CODE:00410910 0fbff2 MOVSX ESI,DX
CODE:00410913 0fb77902 MOVZX EDI,word ptr [ECX + 0x2]
CODE:00410917 3bf7 CMP ESI,EDI
CODE:00410919 7ccb JL LAB_004108e6
LAB_0041091b: ;XREF[3]: 0041085a(j),004108c4(j),004108d6(j)
CODE:0041091b 0fbf45fa MOVSX EAX,word ptr [EBP + local_a+0x4]
CODE:0041091f 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00410922 ff3485d04... PUSH dword ptr [EAX*0x4 + DATA:hMem_004646d0];HGLOBAL hMem for GlobalUnlock
CODE:00410929 e8854c0400 CALL KERNEL32.DLL::GlobalUnlock ;BOOL GlobalUnlock(HGLOBAL hMem)
LAB_0041092e: ;XREF[1]: 0041080c(j)
CODE:0041092e 33c0 XOR EAX,EAX
LAB_00410930: ;XREF[2]: 004108a5(j),00410906(j)
CODE:00410930 5f POP EDI
CODE:00410931 5e POP ESI
CODE:00410932 5b POP EBX
CODE:00410933 8be5 MOV ESP,EBP
CODE:00410935 5d POP EBP
CODE:00410936 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;HGLOBAL FUN_00410937(undefined4 param_1, undefined2 param_2)
;param_1 undefined4 4 ;XREF[1]: 00410940(R)
;param_2 undefined2 8 ;XREF[1]: 0041094b(R)
;local_8 undefined4 -8 ;XREF[2]: 00410996(W),004109b9(R)
;local_c undefined1 -c ;XREF[1]: 004109b4(*)
;local_10 undefined4 -10 ;XREF[2]: 00410976(W),0041099d(R)
;XREF[1]: 0044059b(c)
CODE:00410937 55 PUSH EBP
CODE:00410938 8bec MOV EBP,ESP
CODE:0041093a 83c4f4 ADD ESP,-0xc
CODE:0041093d 53 PUSH EBX
CODE:0041093e 56 PUSH ESI
CODE:0041093f 57 PUSH EDI
CODE:00410940 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
CODE:00410943 85c0 TEST EAX,EAX
CODE:00410945 0f84ad000000 JZ LAB_004109f8
CODE:0041094b 668b5d0c MOV BX,word ptr [EBP + param_2+0x4]
CODE:0041094f 8bf0 MOV ESI,EAX
CODE:00410951 6683e67f AND SI,0x7f
CODE:00410955 0fbfc6 MOVSX EAX,SI
CODE:00410958 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:0041095b ff3485d04... PUSH dword ptr [EAX*0x4 + DATA:hMem_004646d0];HGLOBAL hMem for GlobalLock
CODE:00410962 e8bc4b0400 CALL KERNEL32.DLL::GlobalLock ;LPVOID GlobalLock(HGLOBAL hMem)
CODE:00410967 8bd0 MOV EDX,EAX
CODE:00410969 0fb7cb MOVZX ECX,BX
CODE:0041096c 03c1 ADD EAX,ECX
CODE:0041096e 668b0a MOV CX,word ptr [EDX]
CODE:00410971 0fb718 MOVZX EBX,word ptr [EAX]
CODE:00410974 d3e3 SHL EBX,CL
CODE:00410976 895df4 MOV dword ptr [EBP + local_10+0x4],EBX
CODE:00410979 668b0a MOV CX,word ptr [EDX]
CODE:0041097c 0fb77802 MOVZX EDI,word ptr [EAX + 0x2]
CODE:00410980 d3e7 SHL EDI,CL
CODE:00410982 57 PUSH EDI ;SIZE_T dwBytes for GlobalAlloc
CODE:00410983 6a00 PUSH 0x0 ;UINT uFlags for GlobalAlloc
CODE:00410985 e8934b0400 CALL KERNEL32.DLL::GlobalAlloc ;HGLOBAL GlobalAlloc(UINT uFlags, SIZ...
CODE:0041098a 8bd8 MOV EBX,EAX
CODE:0041098c 85db TEST EBX,EBX
CODE:0041098e 7452 JZ LAB_004109e2
CODE:00410990 53 PUSH EBX ;HGLOBAL hMem for GlobalLock
CODE:00410991 e88d4b0400 CALL KERNEL32.DLL::GlobalLock ;LPVOID GlobalLock(HGLOBAL hMem)
CODE:00410996 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
CODE:00410999 6a00 PUSH 0x0 ;DWORD dwMoveMethod for SetFilePointer
CODE:0041099b 6a00 PUSH 0x0 ;PLONG lpDistanceToMoveHigh for SetFi...
CODE:0041099d ff75f4 PUSH dword ptr [EBP + local_10+0x4] ;LONG lDistanceToMove for SetFilePointer
CODE:004109a0 0fbfc6 MOVSX EAX,SI
CODE:004109a3 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:004109a6 ff3485cc4... PUSH dword ptr [EAX*0x4 + DATA:hFile_00464...;HANDLE hFile for SetFilePointer
CODE:004109ad e8d14b0400 CALL KERNEL32.DLL::SetFilePointer ;DWORD SetFilePointer(HANDLE hFile, L...
CODE:004109b2 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for ReadFile
CODE:004109b4 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
CODE:004109b7 50 PUSH EAX ;LPDWORD lpNumberOfBytesRead for Read...
CODE:004109b8 57 PUSH EDI ;DWORD nNumberOfBytesToRead for ReadFile
CODE:004109b9 ff75fc PUSH dword ptr [EBP + local_8+0x4] ;LPVOID lpBuffer for ReadFile
CODE:004109bc 0fbfc6 MOVSX EAX,SI
CODE:004109bf 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:004109c2 ff3485cc4... PUSH dword ptr [EAX*0x4 + DATA:hFile_00464...;HANDLE hFile for ReadFile
CODE:004109c9 e8d34b0400 CALL KERNEL32.DLL::ReadFile ;BOOL ReadFile(HANDLE hFile, LPVOID l...
CODE:004109ce 8bf8 MOV EDI,EAX
CODE:004109d0 53 PUSH EBX ;HGLOBAL hMem for GlobalUnlock
CODE:004109d1 e8dd4b0400 CALL KERNEL32.DLL::GlobalUnlock ;BOOL GlobalUnlock(HGLOBAL hMem)
CODE:004109d6 85ff TEST EDI,EDI
CODE:004109d8 7508 JNZ LAB_004109e2
CODE:004109da 53 PUSH EBX ;HGLOBAL hMem for GlobalFree
CODE:004109db e8a14a0400 CALL KERNEL32.DLL::GlobalFree ;HGLOBAL GlobalFree(HGLOBAL hMem)
CODE:004109e0 33db XOR EBX,EBX
LAB_004109e2: ;XREF[2]: 0041098e(j),004109d8(j)
CODE:004109e2 0fbfc6 MOVSX EAX,SI
CODE:004109e5 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:004109e8 ff3485d04... PUSH dword ptr [EAX*0x4 + DATA:hMem_004646d0];HGLOBAL hMem for GlobalUnlock
CODE:004109ef e8bf4b0400 CALL KERNEL32.DLL::GlobalUnlock ;BOOL GlobalUnlock(HGLOBAL hMem)
CODE:004109f4 8bc3 MOV EAX,EBX
CODE:004109f6 eb02 JMP LAB_004109fa
LAB_004109f8: ;XREF[1]: 00410945(j)
CODE:004109f8 33c0 XOR EAX,EAX
LAB_004109fa: ;XREF[1]: 004109f6(j)
CODE:004109fa 5f POP EDI
CODE:004109fb 5e POP ESI
CODE:004109fc 5b POP EBX
CODE:004109fd 8be5 MOV ESP,EBP
CODE:004109ff 5d POP EBP
CODE:00410a00 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;LPVOID FUN_00410a01(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1]: 00410a04(R)
;XREF[1]: 004405a9(c)
CODE:00410a01 55 PUSH EBP
CODE:00410a02 8bec MOV EBP,ESP
CODE:00410a04 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
CODE:00410a07 85c0 TEST EAX,EAX
CODE:00410a09 7408 JZ LAB_00410a13
CODE:00410a0b 50 PUSH EAX ;HGLOBAL hMem for GlobalLock
CODE:00410a0c e8124b0400 CALL KERNEL32.DLL::GlobalLock ;LPVOID GlobalLock(HGLOBAL hMem)
CODE:00410a11 5d POP EBP
CODE:00410a12 c3 RET
LAB_00410a13: ;XREF[1]: 00410a09(j)
CODE:00410a13 33c0 XOR EAX,EAX
CODE:00410a15 5d POP EBP
CODE:00410a16 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;BOOL FUN_00410a17(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 004406fc(c),00440793(c),0044089f(c)
CODE:00410a17 55 PUSH EBP
CODE:00410a18 8bec MOV EBP,ESP
CODE:00410a1a 53 PUSH EBX
CODE:00410a1b 8b5d08 MOV EBX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00410a1e 85db TEST EBX,EBX
CODE:00410a20 7409 JZ LAB_00410a2b
CODE:00410a22 53 PUSH EBX ;HGLOBAL hMem for GlobalUnlock
CODE:00410a23 e88b4b0400 CALL KERNEL32.DLL::GlobalUnlock ;BOOL GlobalUnlock(HGLOBAL hMem)
CODE:00410a28 5b POP EBX
CODE:00410a29 5d POP EBP
CODE:00410a2a c3 RET
LAB_00410a2b: ;XREF[1]: 00410a20(j)
CODE:00410a2b 33c0 XOR EAX,EAX
CODE:00410a2d 5b POP EBX
CODE:00410a2e 5d POP EBP
CODE:00410a2f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00410a30(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 00440705(c),0044079c(c),004408a8(c)
CODE:00410a30 55 PUSH EBP
CODE:00410a31 8bec MOV EBP,ESP
CODE:00410a33 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00410a36 85c0 TEST EAX,EAX
CODE:00410a38 7406 JZ LAB_00410a40
CODE:00410a3a 50 PUSH EAX ;HGLOBAL hMem for GlobalFree
CODE:00410a3b e8414a0400 CALL KERNEL32.DLL::GlobalFree ;HGLOBAL GlobalFree(HGLOBAL hMem)
LAB_00410a40: ;XREF[1]: 00410a38(j)
CODE:00410a40 33c0 XOR EAX,EAX
CODE:00410a42 5d POP EBP
CODE:00410a43 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00410a44(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined2 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined2 CODE:00410a45 8bec MOV EBP,ESP
CODE:00410a47 53 PUSH EBX
CODE:00410a48 56 PUSH ESI
CODE:00410a49 57 PUSH EDI
CODE:00410a4a 8b5d08 MOV EBX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00410a4d 85db TEST EBX,EBX
CODE:00410a4f 744a JZ LAB_00410a9b
CODE:00410a51 668b7d0c MOV DI,word ptr [EBP + Stack[0x8]+0x4]
CODE:00410a55 8bf3 MOV ESI,EBX
CODE:00410a57 6683e67f AND SI,0x7f
CODE:00410a5b 0fbfc6 MOVSX EAX,SI
CODE:00410a5e 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00410a61 ff3485d04... PUSH dword ptr [EAX*0x4 + DATA:hMem_004646d0];HGLOBAL hMem for GlobalLock
CODE:00410a68 e8b64a0400 CALL KERNEL32.DLL::GlobalLock ;LPVOID GlobalLock(HGLOBAL hMem)
CODE:00410a6d 8bd0 MOV EDX,EAX
CODE:00410a6f 0fb7cf MOVZX ECX,DI
CODE:00410a72 03c1 ADD EAX,ECX
CODE:00410a74 668b0a MOV CX,word ptr [EDX]
CODE:00410a77 0fb700 MOVZX EAX,word ptr [EAX]
CODE:00410a7a d3e0 SHL EAX,CL
CODE:00410a7c 0fbfd6 MOVSX EDX,SI
CODE:00410a7f 8d1452 LEA EDX,[EDX + EDX*0x2]
CODE:00410a82 890495d44... MOV dword ptr [EDX*0...,EAX
CODE:00410a89 0fbfc6 MOVSX EAX,SI
CODE:00410a8c 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00410a8f ff3485d04... PUSH dword ptr [EAX*0x4 + DATA:hMem_004646d0];HGLOBAL hMem for GlobalUnlock
CODE:00410a96 e8184b0400 CALL KERNEL32.DLL::GlobalUnlock ;BOOL GlobalUnlock(HGLOBAL hMem)
LAB_00410a9b: ;XREF[1]: 00410a4f(j)
CODE:00410a9b 8bc3 MOV EAX,EBX
CODE:00410a9d 5f POP EDI
CODE:00410a9e 5e POP ESI
CODE:00410a9f 5b POP EBX
CODE:00410aa0 5d POP EBP
CODE:00410aa1 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00410aa2(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 CODE:00410aa3 8bec MOV EBP,ESP
CODE:00410aa5 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00410aa8 5d POP EBP
CODE:00410aa9 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;DWORD FUN_00410aaa(undefined4 param_1, undefined4 param_2, DWORD param_3, int param_4, LPVOID param_5, DWORD param_6)
;param_1 undefined4 EAX
;param_2 undefined4 EDX
;param_3 DWORD ECX
;param_4 int 4 ;XREF[1]: 00410ab3(R)
;param_5 LPVOID 8 ;XREF[1]: 00410aea(R)
;param_6 DWORD c ;XREF[1]: 00410ab0(R)
;local_8 undefined4 -8 ;XREF[2]: 00410ae5(*),00410b0c(R)
CODE:00410aaa 55 PUSH EBP
CODE:00410aab 8bec MOV EBP,ESP
CODE:00410aad 51 PUSH param_3
CODE:00410aae 53 PUSH EBX
CODE:00410aaf 56 PUSH ESI
CODE:00410ab0 8b7510 MOV ESI,dword ptr [EBP + param_6+0x4]
CODE:00410ab3 8b4508 MOV param_1,dword ptr [EBP + param_4+0x4]
CODE:00410ab6 85c0 TEST param_1,param_1
CODE:00410ab8 745c JZ LAB_00410b16
CODE:00410aba 8bd8 MOV EBX,param_1
CODE:00410abc 6683e37f AND BX,0x7f
CODE:00410ac0 6a00 PUSH 0x0 ;DWORD dwMoveMethod for SetFilePointer
CODE:00410ac2 6a00 PUSH 0x0 ;PLONG lpDistanceToMoveHigh for SetFi...
CODE:00410ac4 0fbfc3 MOVSX param_1,BX
CODE:00410ac7 8d0440 LEA param_1,[EAX + EAX*0x2]
CODE:00410aca ff3485d44... PUSH dword ptr [param_1*0x4 + DATA:lDistan...;LONG lDistanceToMove for SetFilePointer
CODE:00410ad1 0fbfc3 MOVSX param_1,BX
CODE:00410ad4 8d0440 LEA param_1,[EAX + EAX*0x2]
CODE:00410ad7 ff3485cc4... PUSH dword ptr [param_1*0x4 + DATA:hFile_0...;HANDLE hFile for SetFilePointer
CODE:00410ade e8a04a0400 CALL KERNEL32.DLL::SetFilePointer ;DWORD SetFilePointer(HANDLE hFile, L...
CODE:00410ae3 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for ReadFile
CODE:00410ae5 8d45fc LEA param_1=>local_8,[EBP + -0x4]
CODE:00410ae8 50 PUSH param_1 ;LPDWORD lpNumberOfBytesRead for Read...
CODE:00410ae9 56 PUSH ESI ;DWORD nNumberOfBytesToRead for ReadFile
CODE:00410aea ff750c PUSH dword ptr [EBP + param_5+0x4] ;LPVOID lpBuffer for ReadFile
CODE:00410aed 0fbfc3 MOVSX param_1,BX
CODE:00410af0 8d0440 LEA param_1,[EAX + EAX*0x2]
CODE:00410af3 ff3485cc4... PUSH dword ptr [param_1*0x4 + DATA:hFile_0...;HANDLE hFile for ReadFile
CODE:00410afa e8a24a0400 CALL KERNEL32.DLL::ReadFile ;BOOL ReadFile(HANDLE hFile, LPVOID l...
CODE:00410aff 6685c0 TEST param_1,param_1
CODE:00410b02 7502 JNZ LAB_00410b06
CODE:00410b04 33f6 XOR ESI,ESI
LAB_00410b06: ;XREF[1]: 00410b02(j)
CODE:00410b06 0fbfc3 MOVSX param_1,BX
CODE:00410b09 8d0440 LEA param_1,[EAX + EAX*0x2]
CODE:00410b0c 8b55fc MOV param_2,dword ptr [EBP + local_8+0x4]
CODE:00410b0f 011485d44... ADD dword ptr [param...,param_2
LAB_00410b16: ;XREF[1]: 00410ab8(j)
CODE:00410b16 8bc6 MOV param_1,ESI
CODE:00410b18 5e POP ESI
CODE:00410b19 5b POP EBX
CODE:00410b1a 59 POP param_3
CODE:00410b1b 5d POP EBP
CODE:00410b1c c3 RET
CODE:00410b1d 00 ?? 00h
CODE:00410b1e 00 ?? 00h
CODE:00410b1f 00 ?? 00h
CODE:00410b20 c8 ?? C8h
CODE:00410b21 00 ?? 00h
CODE:00410b22 00 ?? 00h
CODE:00410b23 00 ?? 00h
CODE:00410b24 8b ?? 8Bh
CODE:00410b25 55 ?? 55h U
CODE:00410b26 08 ?? 08h
CODE:00410b27 2b ?? 2Bh +
CODE:00410b28 c0 ?? C0h
CODE:00410b29 0f ?? 0Fh
CODE:00410b2a ac ?? ACh
CODE:00410b2b d0 ?? D0h
CODE:00410b2c 10 ?? 10h
CODE:00410b2d c1 ?? C1h
CODE:00410b2e fa ?? FAh
CODE:00410b2f 10 ?? 10h
CODE:00410b30 f7 ?? F7h
CODE:00410b31 7d ?? 7Dh }
CODE:00410b32 0c ?? 0Ch
CODE:00410b33 0f ?? 0Fh
CODE:00410b34 a4 ?? A4h
CODE:00410b35 c2 ?? C2h
CODE:00410b36 10 ?? 10h
CODE:00410b37 c9 ?? C9h
CODE:00410b38 c3 ?? C3h
CODE:00410b39 00 ?? 00h
CODE:00410b3a 00 ?? 00h
CODE:00410b3b 00 ?? 00h
CODE:00410b3c e8 ?? E8h
CODE:00410b3d 94 ?? 94h
CODE:00410b3e 4c ?? 4Ch L
CODE:00410b3f 04 ?? 04h
CODE:00410b40 00 ?? 00h
CODE:00410b41 c3 ?? C3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410b42(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined2 param_5, undefined2 param_6)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined2 ;param_6 undefined2 ;local_8 undefined4 -8 ;XREF[1]: 00410b89(W)
;local_c undefined4 -c ;XREF[1]: 00410b7f(W)
;local_10 undefined4 -10 ;XREF[1]: 00410b76(W)
;local_14 undefined4 -14 ;XREF[2]: 00410b6f(W),00410b8d(*)
CODE:00410b42 55 PUSH EBP
CODE:00410b43 8bec MOV EBP,ESP
CODE:00410b45 83c4f0 ADD ESP,-0x10
CODE:00410b48 53 PUSH EBX
CODE:00410b49 56 PUSH ESI
CODE:00410b4a 57 PUSH EDI
CODE:00410b4b 8b7d08 MOV EDI,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00410b4e 0fb74510 MOVZX EAX,word ptr [EBP + Stack[0xc]+0x4]
CODE:00410b52 0d00000001 OR EAX,0x1000000
CODE:00410b57 50 PUSH EAX ;COLORREF color for CreateSolidBrush
CODE:00410b58 e8184c0400 CALL GDI32.DLL::CreateSolidBrush ;HBRUSH CreateSolidBrush(COLORREF color)
CODE:00410b5d 8bd8 MOV EBX,EAX
CODE:00410b5f ff3534484600 PUSH dword ptr [DATA:Game::window] ;HWND hWnd for GetDC
CODE:00410b65 e8f74a0400 CALL USER32.DLL::GetDC ;HDC GetDC(HWND hWnd)
CODE:00410b6a 8bf0 MOV ESI,EAX
CODE:00410b6c 0fbfc7 MOVSX EAX,DI
CODE:00410b6f 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
CODE:00410b72 0fbf450c MOVSX EAX,word ptr [EBP + Stack[0x8]+0x4]
CODE:00410b76 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
CODE:00410b79 0fbfc7 MOVSX EAX,DI
CODE:00410b7c 83c014 ADD EAX,0x14
CODE:00410b7f 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
CODE:00410b82 0fbf450c MOVSX EAX,word ptr [EBP + Stack[0x8]+0x4]
CODE:00410b86 83c014 ADD EAX,0x14
CODE:00410b89 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
CODE:00410b8c 53 PUSH EBX ;HBRUSH hbr for FillRect
CODE:00410b8d 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
CODE:00410b90 50 PUSH EAX ;RECT * lprc for FillRect
CODE:00410b91 56 PUSH ESI ;HDC hDC for FillRect
CODE:00410b92 e8e84a0400 CALL USER32.DLL::FillRect ;int FillRect(HDC hDC, RECT * lprc, H...
CODE:00410b97 56 PUSH ESI ;HDC hDC for ReleaseDC
CODE:00410b98 ff3534484600 PUSH dword ptr [DATA:Game::window] ;HWND hWnd for ReleaseDC
CODE:00410b9e e8284a0400 CALL USER32.DLL::ReleaseDC ;int ReleaseDC(HWND hWnd, HDC hDC)
CODE:00410ba3 53 PUSH EBX ;HGDIOBJ ho for DeleteObject
CODE:00410ba4 e8c04b0400 CALL GDI32.DLL::DeleteObject ;BOOL DeleteObject(HGDIOBJ ho)
CODE:00410ba9 5f POP EDI
CODE:00410baa 5e POP ESI
CODE:00410bab 5b POP EBX
CODE:00410bac 8be5 MOV ESP,EBP
CODE:00410bae 5d POP EBP
CODE:00410baf c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined ShowTaskbar(undefined2 shouldShow)
;shouldShow undefined2 4 ;XREF[1]: 00410bcd(R)
;XREF[4]: 00410c86(c),00410cfe(c),00411389(c),004113ce(c)
CODE:00410bb0 55 PUSH EBP
CODE:00410bb1 8bec MOV EBP,ESP
;if VER_PLATFORM_WIN32_WINDOWS, not VER_PLATFORM_WIN32s
CODE:00410bb3 833d60484... CMP dword ptr [DATA:$dwPlatformId],0x1 ;= ??
CODE:00410bba 7520 JNZ LAB_00410bdc
CODE:00410bbc 6a00 PUSH 0x0 ;LPCSTR lpWindowName for FindWindowA
CODE:00410bbe 68cc014600 PUSH DATA:s_Shell_TrayWnd_004601cc ;LPCSTR lpClassName for FindWindowA
CODE:00410bc3 e8b14a0400 CALL USER32.DLL::FindWindowA ;HWND FindWindowA(LPCSTR lpClassName,...
CODE:00410bc8 ba01000000 MOV EDX,0x1
CODE:00410bcd 66837d0800 CMP word ptr [EBP + shouldShow+0x4],0x0
CODE:00410bd2 7501 JNZ LAB_00410bd5
CODE:00410bd4 4a DEC EDX
LAB_00410bd5: ;XREF[1]: 00410bd2(j)
CODE:00410bd5 52 PUSH EDX ;int nCmdShow for ShowWindow
CODE:00410bd6 50 PUSH EAX ;HWND hWnd for ShowWindow
CODE:00410bd7 e8514b0400 CALL USER32.DLL::ShowWindow ;BOOL ShowWindow(HWND hWnd, int nCmdS...
LAB_00410bdc: ;XREF[1]: 00410bba(j)
CODE:00410bdc 5d POP EBP
CODE:00410bdd c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ATOM CreateWindow(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1]: 00410be6(R)
;windowClass undefined2 AX ;XREF[1]: 00410c7d(W)
;local_8 undefined4 -8 ;XREF[2]: 00410c64(W),00410c79(W)
;local_c undefined4 -c ;XREF[1]: 00410c03(W)
;local_10 undefined4 -10 ;XREF[1]: 00410c0a(W)
;local_14 undefined4 -14 ;XREF[1]: 00410c46(W)
;local_18 undefined4 -18 ;XREF[1]: 00410c29(W)
;local_1c undefined4 -1c ;XREF[1]: 00410c3c(W)
;local_20 undefined4 -20 ;XREF[1]: 00410c1d(W)
;local_24 undefined4 -24 ;XREF[1]: 00410c50(W)
;local_28 undefined4 -28 ;XREF[1]: 00410c4b(W)
;local_2c undefined4 -2c ;XREF[1]: 00410c20(W)
;local_30 undefined4 -30 ;XREF[1]: 00410c11(W)
;local_34 undefined4 -34 ;XREF[2]: 00410be9(*),00410c53(*)
;XREF[1]: 00410e7f(c)
CODE:00410bde 55 PUSH EBP
CODE:00410bdf 8bec MOV EBP,ESP
CODE:00410be1 83c4d0 ADD ESP,-0x30
CODE:00410be4 53 PUSH EBX
CODE:00410be5 56 PUSH ESI
CODE:00410be6 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
CODE:00410be9 8d5dd0 LEA EBX=>local_34,[EBP + -0x30]
CODE:00410bec 68214e0000 PUSH 0x4e21
CODE:00410bf1 6880484600 PUSH DATA:lpWindowName_00464880 ;= NaP
CODE:00410bf6 e8f9f5ffff CALL GetWinapiString ;void GetWinapiString(char * result, ...
CODE:00410bfb 83c408 ADD ESP,0x8
CODE:00410bfe be01000000 MOV ESI,0x1
CODE:00410c03 c74328be0... MOV dword ptr [EBX +...,DATA:s_TLCSSG_004...;= "TLCSSG"
CODE:00410c0a c74324000... MOV dword ptr [EBX + local_10+0x34],0x100
CODE:00410c11 c74304401... MOV dword ptr [EBX + local_30+0x34],0x1040
CODE:00410c18 a15c484600 MOV EAX,[DATA:$Module] ;= NaP
CODE:00410c1d 894314 MOV dword ptr [EBX + local_20+0x34],EAX
CODE:00410c20 c74308440... MOV dword ptr [EBX +...,MainWndProc
CODE:00410c27 33c0 XOR EAX,EAX
CODE:00410c29 89431c MOV dword ptr [EBX + local_18+0x34],EAX
CODE:00410c2c 6880000000 PUSH 0x80 ;LPCSTR lpIconName for LoadIconA
CODE:00410c31 ff355c484600 PUSH dword ptr [DATA:$Module] ;HINSTANCE hInstance for LoadIconA
CODE:00410c37 e8cd4a0400 CALL USER32.DLL::LoadIconA ;HICON LoadIconA(HINSTANCE hInstance,...
CODE:00410c3c 894318 MOV dword ptr [EBX + local_1c+0x34],EAX
CODE:00410c3f 6a01 PUSH 0x1 ;int i for GetStockObject
CODE:00410c41 e8174b0400 CALL GDI32.DLL::GetStockObject ;HGDIOBJ GetStockObject(int i)
CODE:00410c46 894320 MOV dword ptr [EBX + local_14+0x34],EAX
CODE:00410c49 33c0 XOR EAX,EAX
CODE:00410c4b 89430c MOV dword ptr [EBX + local_28+0x34],EAX
CODE:00410c4e 33c0 XOR EAX,EAX
CODE:00410c50 894310 MOV dword ptr [EBX + local_24+0x34],EAX
CODE:00410c53 c70330000000 MOV dword ptr [EBX]=>local_34,0x30
CODE:00410c59 833d60484... CMP dword ptr [DATA:$dwPlatformId],0x2 ;= ??
CODE:00410c60 7507 JNZ LAB_00410c69
CODE:00410c62 33c0 XOR EAX,EAX
CODE:00410c64 89432c MOV dword ptr [EBX + local_8+0x34],EAX
CODE:00410c67 eb13 JMP LAB_00410c7c
LAB_00410c69: ;XREF[1]: 00410c60(j)
CODE:00410c69 6881000000 PUSH 0x81 ;LPCSTR lpIconName for LoadIconA
CODE:00410c6e ff355c484600 PUSH dword ptr [DATA:$Module] ;HINSTANCE hInstance for LoadIconA
CODE:00410c74 e8904a0400 CALL USER32.DLL::LoadIconA ;HICON LoadIconA(HINSTANCE hInstance,...
CODE:00410c79 89432c MOV dword ptr [EBX + local_8+0x34],EAX
LAB_00410c7c: ;XREF[1]: 00410c67(j)
CODE:00410c7c 53 PUSH EBX ;WNDCLASSEXA * param_1 for RegisterCl...
CODE:00410c7d e8b74a0400 CALL USER32.DLL::RegisterClassExA ;ATOM RegisterClassExA(WNDCLASSEXA * ...
CODE:00410c82 8bd8 MOV EBX,windowClass
CODE:00410c84 6a00 PUSH 0x0
CODE:00410c86 e825ffffff CALL Game::ShowTaskbar ;undefined ShowTaskbar(undefined2 sho...
CODE:00410c8b 59 POP ECX
CODE:00410c8c 6685db TEST BX,BX
CODE:00410c8f 7463 JZ LAB_00410cf4
CODE:00410c91 6a00 PUSH 0x0 ;LPVOID lpParam for CreateWindowExA
CODE:00410c93 ff355c484600 PUSH dword ptr [DATA:$Module] ;HINSTANCE hInstance for CreateWindowExA
CODE:00410c99 6a00 PUSH 0x0 ;HMENU hMenu for CreateWindowExA
CODE:00410c9b 6a00 PUSH 0x0 ;HWND hWndParent for CreateWindowExA
CODE:00410c9d ff3554484600 PUSH dword ptr [DATA:nHeight_00464854] ;int nHeight for CreateWindowExA
CODE:00410ca3 ff3550484600 PUSH dword ptr [DATA:nWidth_00464850] ;int nWidth for CreateWindowExA
CODE:00410ca9 ff354c484600 PUSH dword ptr [DATA:Y_0046484c] ;int Y for CreateWindowExA
CODE:00410caf ff3548484600 PUSH dword ptr [DATA:$DesktopRect] ;int X for CreateWindowExA
CODE:00410cb5 680000ca00 PUSH 0xca0000 ;DWORD dwStyle for CreateWindowExA
CODE:00410cba 6880484600 PUSH DATA:lpWindowName_00464880 ;LPCSTR lpWindowName for CreateWindowExA
CODE:00410cbf 68be014600 PUSH DATA:s_TLCSSG_004601be ;LPCSTR lpClassName for CreateWindowExA
CODE:00410cc4 6a00 PUSH 0x0 ;DWORD dwExStyle for CreateWindowExA
CODE:00410cc6 e8324a0400 CALL USER32.DLL::CreateWindowExA ;HWND CreateWindowExA(DWORD dwExStyle...
CODE:00410ccb a334484600 MOV [DATA:Game::window],windowClass ;= NaP
CODE:00410cd0 833d34484... CMP dword ptr [DATA:Game::window],0x0 ;= NaP
CODE:00410cd7 7419 JZ LAB_00410cf2
CODE:00410cd9 56 PUSH ESI ;int nCmdShow for ShowWindow
CODE:00410cda ff3534484600 PUSH dword ptr [DATA:Game::window] ;HWND hWnd for ShowWindow
CODE:00410ce0 e8484a0400 CALL USER32.DLL::ShowWindow ;BOOL ShowWindow(HWND hWnd, int nCmdS...
CODE:00410ce5 ff3534484600 PUSH dword ptr [DATA:Game::window] ;HWND hWnd for UpdateWindow
CODE:00410ceb e8254a0400 CALL USER32.DLL::UpdateWindow ;BOOL UpdateWindow(HWND hWnd)
CODE:00410cf0 eb02 JMP LAB_00410cf4
LAB_00410cf2: ;XREF[1]: 00410cd7(j)
CODE:00410cf2 33db XOR EBX,EBX
LAB_00410cf4: ;XREF[2]: 00410c8f(j),00410cf0(j)
CODE:00410cf4 8bc3 MOV windowClass,EBX
CODE:00410cf6 5e POP ESI
CODE:00410cf7 5b POP EBX
CODE:00410cf8 8be5 MOV ESP,EBP
CODE:00410cfa 5d POP EBP
CODE:00410cfb c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410cfc(void)
;XREF[2]: 00410ea1(*),00410f05(c)
CODE:00410cfc 6a01 PUSH 0x1
CODE:00410cfe e8adfeffff CALL Game::ShowTaskbar ;undefined ShowTaskbar(undefined2 sho...
CODE:00410d03 59 POP ECX
CODE:00410d04 833d34484... CMP dword ptr [DATA:Game::window],0x0 ;= NaP
CODE:00410d0b 7422 JZ LAB_00410d2f
CODE:00410d0d ff3534484600 PUSH dword ptr [DATA:Game::window] ;HWND hWnd for DestroyWindow
CODE:00410d13 e8a3490400 CALL USER32.DLL::DestroyWindow ;BOOL DestroyWindow(HWND hWnd)
CODE:00410d18 ff355c484600 PUSH dword ptr [DATA:$Module] ;HINSTANCE hInstance for UnregisterCl...
CODE:00410d1e 68be014600 PUSH DATA:s_TLCSSG_004601be ;LPCSTR lpClassName for UnregisterClassA
CODE:00410d23 e8f3490400 CALL USER32.DLL::UnregisterClassA ;BOOL UnregisterClassA(LPCSTR lpClass...
CODE:00410d28 33c0 XOR EAX,EAX
CODE:00410d2a a334484600 MOV [DATA:Game::window],EAX ;= NaP
LAB_00410d2f: ;XREF[1]: 00410d0b(j)
CODE:00410d2f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined MakeWindowAnnoying(void)
;titleBarHe... undefined4 EAX ;XREF[7]: 00410d3b(W),00410d44(W),00410d54(W),00410d5d(W),00410d6e(W),
; 00410d8c(W),00410d91(W)
;menuBarHeight undefined4 EAX ;XREF[6]: 00410d44(W),00410d54(W),00410d5d(W),00410d6e(W),00410d8c(W),
; 00410d91(W)
;screenWidth undefined4 EAX ;XREF[5]: 00410d54(W),00410d5d(W),00410d6e(W),00410d8c(W),00410d91(W)
;screenHeight undefined4 EAX ;XREF[4]: 00410d5d(W),00410d6e(W),00410d8c(W),00410d91(W)
;screenHeight' undefined4 EAX ;XREF[3]: 00410d6e(W),00410d8c(W),00410d91(W)
;xPadding undefined4 EAX ;XREF[2]: 00410d8c(W),00410d91(W)
;leftPadding int EAX ;XREF[1]: 00410d91(W)
;XREF[1]: 00411139(c)
CODE:00410d30 55 PUSH EBP
CODE:00410d31 8bec MOV EBP,ESP
CODE:00410d33 83c4f0 ADD ESP,-0x10
CODE:00410d36 53 PUSH EBX
CODE:00410d37 56 PUSH ESI
CODE:00410d38 57 PUSH EDI
CODE:00410d39 6a04 PUSH SM_CYCAPTION ;int nIndex for GetSystemMetrics
CODE:00410d3b e8f1480400 CALL USER32.DLL::GetSystemMetrics ;int GetSystemMetrics(int nIndex)
CODE:00410d40 8bf0 MOV ESI,titleBarHeight
CODE:00410d42 6a0f PUSH SM_CYMENU ;int nIndex for GetSystemMetrics
CODE:00410d44 e8e8480400 CALL USER32.DLL::GetSystemMetrics ;int GetSystemMetrics(int nIndex)
CODE:00410d49 8bf8 MOV EDI,menuBarHeight
CODE:00410d4b 6a01 PUSH 0x1 ;int nIndex for GetSystemMetrics
CODE:00410d4d e8df480400 CALL USER32.DLL::GetSystemMetrics ;int GetSystemMetrics(int nIndex)
CODE:00410d52 6a00 PUSH 0x0 ;int nIndex for GetSystemMetrics
CODE:00410d54 e8d8480400 CALL USER32.DLL::GetSystemMetrics ;int GetSystemMetrics(int nIndex)
CODE:00410d59 8bd8 MOV EBX,screenWidth
CODE:00410d5b 6a01 PUSH SM_CYSCREEN ;int nIndex for GetSystemMetrics
CODE:00410d5d e8cf480400 CALL USER32.DLL::GetSystemMetrics ;int GetSystemMetrics(int nIndex)
CODE:00410d62 662bc7 SUB screenHeight,DI
CODE:00410d65 662bc6 SUB screenHeight,SI
CODE:00410d68 8bf0 MOV ESI,screenHeight
CODE:00410d6a 6a06 PUSH 0x6 ;UINT uFlags for SetWindowPos
CODE:00410d6c 6a01 PUSH SM_CYSCREEN ;int nIndex for GetSystemMetrics
CODE:00410d6e e8be480400 CALL USER32.DLL::GetSystemMetrics ;int GetSystemMetrics(int nIndex)
CODE:00410d73 50 PUSH screenHeight' ;int cy for SetWindowPos
;move window to (0,0); resize to whole screen
CODE:00410d74 0fbfc3 MOVSX screenHeight',BX
CODE:00410d77 50 PUSH screenHeight' ;int cx for SetWindowPos
CODE:00410d78 6a00 PUSH 0x0 ;int Y for SetWindowPos
CODE:00410d7a 6a00 PUSH 0x0 ;int X for SetWindowPos
CODE:00410d7c 6a00 PUSH 0x0 ;HWND hWndInsertAfter for SetWindowPos
CODE:00410d7e ff3534484600 PUSH dword ptr [DATA:Game::window] ;HWND hWnd for SetWindowPos
CODE:00410d84 e8b6490400 CALL USER32.DLL::SetWindowPos ;BOOL SetWindowPos(HWND hWnd, HWND hW...
CODE:00410d89 0fbfc3 MOVSX screenHeight',BX
CODE:00410d8c 0500feffff ADD xPadding,4294966784
CODE:00410d91 d1f8 SAR leftPadding,0x1
CODE:00410d93 7903 JNS LAB_00410d98
CODE:00410d95 83d000 ADC leftPadding,0x0
LAB_00410d98: ;XREF[1]: 00410d93(j)
CODE:00410d98 030548484600 ADD leftPadding,dword ptr [DATA:$DesktopR...
CODE:00410d9e a338484600 MOV [DATA:Game::mouseInputRect],leftPadding
CODE:00410da3 0fbfc6 MOVSX leftPadding,SI
CODE:00410da6 0580feffff ADD leftPadding,4294966912
CODE:00410dab d1f8 SAR leftPadding,0x1
CODE:00410dad 7903 JNS LAB_00410db2
CODE:00410daf 83d000 ADC leftPadding,0x0
LAB_00410db2: ;XREF[1]: 00410dad(j)
CODE:00410db2 03054c484600 ADD leftPadding,dword ptr [DATA:Y_0046484c]
CODE:00410db8 a33c484600 MOV [DATA:mouseInputRect.top],leftPadding
;this is incorrect, but it doesn’t break anything
CODE:00410dbd 810540484... ADD dword ptr [DATA:...,511
CODE:00410dc7 a13c484600 MOV leftPadding,[DATA:mouseInputRect.top]
CODE:00410dcc 057f010000 ADD leftPadding,383
CODE:00410dd1 a344484600 MOV [DATA:mouseInputRect.bottom],leftPadding
CODE:00410dd6 66a13c484600 MOV leftPadding,[DATA:mouseInputRect.top]
CODE:00410ddc 50 PUSH leftPadding
CODE:00410ddd 66a138484600 MOV leftPadding,[DATA:Game::mouseInputRect]
CODE:00410de3 50 PUSH leftPadding
CODE:00410de4 e828100200 CALL Game::SetDrawAreaXY ;undefined SetDrawAreaXY(undefined2 p...
CODE:00410de9 83c408 ADD ESP,0x8
CODE:00410dec 5f POP EDI
CODE:00410ded 5e POP ESI
CODE:00410dee 5b POP EBX
CODE:00410def 8be5 MOV ESP,EBP
CODE:00410df1 5d POP EBP
CODE:00410df2 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 Main(undefined4 param_1, undefined4 param_2, undefined param_3, undefined4 param_4)
;param_1 undefined4 4 ;XREF[1]: 00410e51(R)
;param_2 undefined4 8 ;XREF[1]: 00410dfd(R)
;param_3 undefined ;param_4 undefined4 ;desktopWindow undefined4 EAX ;XREF[2]: 00410e5e(W),00410e7f(W)
;desktopHeight undefined2 BX ;XREF[1]: 00410e70(W)
;windowClass undefined2 AX ;XREF[1]: 00410e7f(W)
;local_88 undefined4 -88 ;XREF[1]: 00410e46(R)
;local_98 undefined4 -98 ;XREF[2]: 00410e30(W),00410e3a(*)
;local_b4 undefined1 -b4 ;XREF[3]: 00410ed1(*),00410ee1(*),00410eed(*)
;desktopRect LPRECT HASH...
;XREF[1]: 00460044(*)
CODE:00410df3 55 PUSH EBP
CODE:00410df4 8bec MOV EBP,ESP
CODE:00410df6 81c450ffffff ADD ESP,0xffffff50
CODE:00410dfc 53 PUSH EBX
CODE:00410dfd 837d0c00 CMP dword ptr [EBP + param_2+0x4],0x0
CODE:00410e01 752d JNZ LAB_00410e30
CODE:00410e03 6a00 PUSH 0x0 ;LPCSTR lpWindowName for FindWindowA
CODE:00410e05 68be014600 PUSH DATA:s_TLCSSG_004601be ;LPCSTR lpClassName for FindWindowA
CODE:00410e0a e86a480400 CALL USER32.DLL::FindWindowA ;HWND FindWindowA(LPCSTR lpClassName,...
CODE:00410e0f 8bd8 MOV EBX,EAX
CODE:00410e11 85db TEST EBX,EBX
CODE:00410e13 741b JZ LAB_00410e30
CODE:00410e15 53 PUSH EBX ;HWND hWnd for IsIconic
CODE:00410e16 e8fe470400 CALL USER32.DLL::IsIconic ;BOOL IsIconic(HWND hWnd)
CODE:00410e1b 6a09 PUSH 0x9 ;int nCmdShow for ShowWindow
CODE:00410e1d 53 PUSH EBX ;HWND hWnd for ShowWindow
CODE:00410e1e e80a490400 CALL USER32.DLL::ShowWindow ;BOOL ShowWindow(HWND hWnd, int nCmdS...
CODE:00410e23 53 PUSH EBX ;HWND hWnd for SetForegroundWindow
CODE:00410e24 e8c0470400 CALL USER32.DLL::SetForegroundWindow ;BOOL SetForegroundWindow(HWND hWnd)
CODE:00410e29 33c0 XOR EAX,EAX
CODE:00410e2b e9dc000000 JMP LAB_00410f0c
LAB_00410e30: ;XREF[2]: 00410e01(j),00410e13(j)
CODE:00410e30 c7856cfff... MOV dword ptr [EBP + local_98+0x4],0x94
CODE:00410e3a 8d856cffffff LEA EAX=>local_98,[EBP + 0xffffff6c]
CODE:00410e40 50 PUSH EAX ;LPOSVERSIONINFOA lpVersionInformatio...
CODE:00410e41 e8f5460400 CALL KERNEL32.DLL::GetVersionExA ;BOOL GetVersionExA(LPOSVERSIONINFOA ...
CODE:00410e46 8b857cffffff MOV EAX,dword ptr [EBP + local_88+0x4]
CODE:00410e4c a360484600 MOV [DATA:$dwPlatformId],EAX ;= ??
CODE:00410e51 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
CODE:00410e54 a35c484600 MOV [DATA:$Module],EAX ;= NaP
CODE:00410e59 6848484600 PUSH DATA:$DesktopRect ;LPRECT lpRect for GetWindowRect
CODE:00410e5e e846480400 CALL USER32.DLL::GetDesktopWindow ;HWND GetDesktopWindow(void)
CODE:00410e63 50 PUSH desktopWindow ;HWND hWnd for GetWindowRect
CODE:00410e64 e8c2470400 CALL USER32.DLL::GetWindowRect ;BOOL GetWindowRect(HWND hWnd, LPRECT...
CODE:00410e69 668b1d544... MOV BX,word ptr [DATA:nHeight_00464854]
CODE:00410e70 662b1d4c4... SUB desktopHeight,word ptr [DATA:Y_0046484c]
CODE:00410e77 e8f8f1ffff CALL FUN_00410074 ;undefined FUN_00410074(void)
CODE:00410e7c ff7514 PUSH dword ptr [EBP + Stack[0x10]+0x4]
CODE:00410e7f e85afdffff CALL Game::CreateWindow ;ATOM CreateWindow(undefined4 param_1)
CODE:00410e84 59 POP ECX
CODE:00410e85 6685c0 TEST windowClass,windowClass
CODE:00410e88 7476 JZ LAB_00410f00
CODE:00410e8a 66a154484600 MOV windowClass,[DATA:nHeight_00464854]
CODE:00410e90 662b054c4... SUB windowClass,word ptr [DATA:Y_0046484c]
CODE:00410e97 662bd8 SUB desktopHeight,windowClass
CODE:00410e9a 66891d584... MOV word ptr [DATA:D...,desktopHeight ;= ??
CODE:00410ea1 68fc0c4100 PUSH FUN_00410cfc
CODE:00410ea6 e8353a0400 CALL FUN_004548e0 ;undefined4 FUN_004548e0(undefined4 p...
CODE:00410eab 59 POP ECX
CODE:00410eac e826f10100 CALL FUN_0042ffd7 ;undefined4 FUN_0042ffd7(void)
CODE:00410eb1 6685c0 TEST windowClass,windowClass
CODE:00410eb4 744a JZ LAB_00410f00
CODE:00410eb6 66c705744... MOV word ptr [DATA:DAT_00464874],0x1 ;= ??
LAB_00410ebf: ;XREF[2]: 00410edf(j),00410ef9(j)
CODE:00410ebf e889a30300 CALL FUN_0044b24d ;undefined FUN_0044b24d(void)
CODE:00410ec4 e8bb180000 CALL FUN_00412784 ;undefined4 FUN_00412784(void)
CODE:00410ec9 6a01 PUSH 0x1 ;UINT wRemoveMsg for PeekMessageA
CODE:00410ecb 6a00 PUSH 0x0 ;UINT wMsgFilterMax for PeekMessageA
CODE:00410ecd 6a00 PUSH 0x0 ;UINT wMsgFilterMin for PeekMessageA
CODE:00410ecf 6a00 PUSH 0x0 ;HWND hWnd for PeekMessageA
CODE:00410ed1 8d8550ffffff LEA windowClass=>local_b4,[EBP + 0xffffff50]
CODE:00410ed7 50 PUSH windowClass ;LPMSG lpMsg for PeekMessageA
CODE:00410ed8 e844480400 CALL USER32.DLL::PeekMessageA ;BOOL PeekMessageA(LPMSG lpMsg, HWND ...
CODE:00410edd 85c0 TEST windowClass,windowClass
CODE:00410edf 74de JZ LAB_00410ebf
CODE:00410ee1 8d8550ffffff LEA windowClass=>local_b4,[EBP + 0xffffff50]
CODE:00410ee7 50 PUSH windowClass ;MSG * lpMsg for TranslateMessage
CODE:00410ee8 e83a480400 CALL USER32.DLL::TranslateMessage ;BOOL TranslateMessage(MSG * lpMsg)
CODE:00410eed 8d8550ffffff LEA windowClass=>local_b4,[EBP + 0xffffff50]
CODE:00410ef3 50 PUSH windowClass ;MSG * lpMsg for DispatchMessageA
CODE:00410ef4 e8b6470400 CALL USER32.DLL::DispatchMessageA ;LRESULT DispatchMessageA(MSG * lpMsg)
CODE:00410ef9 ebc4 JMP LAB_00410ebf
CODE:00410efb e8 ?? E8h
CODE:00410efc 86 ?? 86h
CODE:00410efd f0 ?? F0h
CODE:00410efe 01 ?? 01h
CODE:00410eff 00 ?? 00h
LAB_00410f00: ;XREF[2]: 00410e88(j),00410eb4(j)
CODE:00410f00 e821f2ffff CALL FUN_00410126 ;undefined FUN_00410126(void)
CODE:00410f05 e8f2fdffff CALL FUN_00410cfc ;undefined FUN_00410cfc(void)
CODE:00410f0a 33c0 XOR windowClass,windowClass
LAB_00410f0c: ;XREF[1]: 00410e2b(j)
CODE:00410f0c 5b POP desktopHeight
CODE:00410f0d 8be5 MOV ESP,EBP
CODE:00410f0f 5d POP EBP
CODE:00410f10 c21000 RET 0x10
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410f13(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1]: 00410f1a(R)
;local_3c undefined1 -3c ;XREF[1]: 00410f27(*)
;local_44 undefined1 -44 ;XREF[2]: 00410f1d(*),00410f35(*)
;XREF[1]: 0041113f(c)
CODE:00410f13 55 PUSH EBP
CODE:00410f14 8bec MOV EBP,ESP
CODE:00410f16 83c4c0 ADD ESP,-0x40
CODE:00410f19 53 PUSH EBX
CODE:00410f1a 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
CODE:00410f1d 8d45c0 LEA EAX=>local_44,[EBP + -0x40]
CODE:00410f20 50 PUSH EAX ;LPPAINTSTRUCT lpPaint for BeginPaint
CODE:00410f21 53 PUSH EBX ;HWND hWnd for BeginPaint
CODE:00410f22 e8d0470400 CALL USER32.DLL::BeginPaint ;HDC BeginPaint(HWND hWnd, LPPAINTSTR...
CODE:00410f27 8d55c8 LEA EDX=>local_3c,[EBP + -0x38]
CODE:00410f2a 52 PUSH EDX
CODE:00410f2b 50 PUSH EAX
CODE:00410f2c ff151c024600 CALL dword ptr [->FUN_00412250] ;undefined FUN_00412250(undefined par...
;= 00412250
CODE:00410f32 83c408 ADD ESP,0x8
CODE:00410f35 8d45c0 LEA EAX=>local_44,[EBP + -0x40]
CODE:00410f38 50 PUSH EAX ;PAINTSTRUCT * lpPaint for EndPaint
CODE:00410f39 53 PUSH EBX ;HWND hWnd for EndPaint
CODE:00410f3a e84c470400 CALL USER32.DLL::EndPaint ;BOOL EndPaint(HWND hWnd, PAINTSTRUCT...
CODE:00410f3f 5b POP EBX
CODE:00410f40 8be5 MOV ESP,EBP
CODE:00410f42 5d POP EBP
CODE:00410f43 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;LRESULT MainWndProc(undefined4 window, undefined4 uMsg, undefined4 wParam, undefined4 lParam)
;window undefined4 4 ;XREF[1]: 00410f53(R)
;uMsg undefined4 8 ;XREF[1]: 00410f50(R)
;wParam undefined4 c ;XREF[1]: 00410f4d(R)
;lParam undefined4 10 ;XREF[9,1]: 004110dd(R),00411210(R),0041121f(R),00411248(R),004112cf(R),
; 00411360(R),00411471(R),00411478(R),004114a1(R),00411168(R)
;local_8 undefined4 -8 ;XREF[9]: 00410f5c(W),004110b3(R),004110c8(R),004110fa(R),00411345(R),
; 004113e8(R),0041140d(R),00411455(R),00411465(R)
;local_c undefined4 -c ;XREF[1]: 0041127b(R)
;local_10 undefined4 -10 ;XREF[3]: 0041125a(*),00411263(*),0041126d(R)
;local_14 undefined4 -14 ;XREF[1]: 00411302(R)
;local_18 undefined4 -18 ;XREF[3]: 004112e1(*),004112ea(*),004112f4(R)
;local_1c undefined4 -1c ;XREF[1]: 00411486(W)
;local_20 undefined4 -20 ;XREF[1]: 00411475(W)
;0x10f44 2 MainWndProc
;XREF[3]: Entry Point(*),00410c20(*),0048002c(*)
CODE:00410f44 55 PUSH EBP
CODE:00410f45 8bec MOV EBP,ESP
CODE:00410f47 83c4e4 ADD ESP,-0x1c
CODE:00410f4a 53 PUSH EBX
CODE:00410f4b 56 PUSH ESI
CODE:00410f4c 57 PUSH EDI
CODE:00410f4d 8b7d10 MOV EDI,dword ptr [EBP + wParam+0x4]
CODE:00410f50 8b750c MOV ESI,dword ptr [EBP + uMsg+0x4]
CODE:00410f53 8b5d08 MOV EBX,dword ptr [EBP + window+0x4]
CODE:00410f56 53 PUSH EBX ;HWND hWnd for IsIconic
CODE:00410f57 e8bd460400 CALL USER32.DLL::IsIconic ;BOOL IsIconic(HWND hWnd)
CODE:00410f5c 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
CODE:00410f5f 8bc6 MOV EAX,ESI
CODE:00410f61 3d01010000 CMP EAX,WM_KEYUP
CODE:00410f66 0f8fa4000000 JG LAB_00411010
CODE:00410f6c 0f842f050000 JZ switchD_00410f86::caseD_0
CODE:00410f72 83f814 CMP EAX,WM_ERASEBKGND
CODE:00410f75 7f5e JG LAB_00410fd5
CODE:00410f77 0f849f010000 JZ LAB_0041111c
CODE:00410f7d 83f811 CMP EAX,0x11
CODE:00410f80 0f871b050000 JA switchD_00410f86::caseD_0
switchD: ; FWD[8]: 00410f8d(R),00411095(j),00411126(j),00411345(j),
; 00411358(j),0041140d(j),0041148d(j),004114a1(j)
CODE:00410f86 ff24858d0... JMP dword ptr [EAX*0x4 + ->switchD_00410f...;= 004114a1
switchdataD_00410f8d: ;XREF[1]: 00410f86(R)
CODE:00410f8d a1144100 addr switchD_00410f86::caseD_0
CODE:00410f91 95104100 addr switchD_00410f86::caseD_1
CODE:00410f95 8d144100 addr switchD_00410f86::caseD_2
CODE:00410f99 a1144100 addr switchD_00410f86::caseD_0
CODE:00410f9d a1144100 addr switchD_00410f86::caseD_0
CODE:00410fa1 a1144100 addr switchD_00410f86::caseD_0
CODE:00410fa5 58134100 addr switchD_00410f86::caseD_6
CODE:00410fa9 a1144100 addr switchD_00410f86::caseD_0
CODE:00410fad a1144100 addr switchD_00410f86::caseD_0
CODE:00410fb1 a1144100 addr switchD_00410f86::caseD_0
CODE:00410fb5 a1144100 addr switchD_00410f86::caseD_0
CODE:00410fb9 a1144100 addr switchD_00410f86::caseD_0
CODE:00410fbd a1144100 addr switchD_00410f86::caseD_0
CODE:00410fc1 a1144100 addr switchD_00410f86::caseD_0
CODE:00410fc5 a1144100 addr switchD_00410f86::caseD_0
CODE:00410fc9 26114100 addr switchD_00410f86::caseD_f
CODE:00410fcd 45134100 addr switchD_00410f86::caseD_10
CODE:00410fd1 0d144100 addr switchD_00410f86::caseD_11
LAB_00410fd5: ;XREF[1]: 00410f75(j)
CODE:00410fd5 83f87e CMP EAX,WM_DISPLAYCHANGE
CODE:00410fd8 7f1d JG LAB_00410ff7
CODE:00410fda 0f848f040000 JZ LAB_0041146f
CODE:00410fe0 83e81c SUB EAX,WM_ACTIVATEAPP
CODE:00410fe3 0f84d1030000 JZ LAB_004113ba
CODE:00410fe9 83e82b SUB EAX,0x2b
CODE:00410fec 0f8414040000 JZ LAB_00411406
CODE:00410ff2 e9aa040000 JMP switchD_00410f86::caseD_0
LAB_00410ff7: ;XREF[1]: 00410fd8(j)
CODE:00410ff7 2d86000000 SUB EAX,WM_NCACTIVATE
CODE:00410ffc 0f849f040000 JZ switchD_00410f86::caseD_0
CODE:00411002 83e87a SUB EAX,0x7a
CODE:00411005 0f843f010000 JZ LAB_0041114a
CODE:0041100b e991040000 JMP switchD_00410f86::caseD_0
LAB_00411010: ;XREF[1]: 00410f66(j)
CODE:00411010 3d17010000 CMP EAX,WM_INITMENUPOPUP
CODE:00411015 7f3f JG LAB_00411056
CODE:00411017 0f8484040000 JZ switchD_00410f86::caseD_0
CODE:0041101d 3d12010000 CMP EAX,WM_SYSCOMMAND
CODE:00411022 7f1f JG LAB_00411043
CODE:00411024 0f8405040000 JZ LAB_0041142f
CODE:0041102a 2d02010000 SUB EAX,WM_CHAR
CODE:0041102f 0f8495010000 JZ LAB_004111ca
CODE:00411035 83e80f SUB EAX,0xf
CODE:00411038 0f84d1000000 JZ LAB_0041110f
CODE:0041103e e95e040000 JMP switchD_00410f86::caseD_0
LAB_00411043: ;XREF[1]: 00411022(j)
CODE:00411043 2d15010000 SUB EAX,WM_VSCROLL
CODE:00411048 0f84f0020000 JZ LAB_0041133e
CODE:0041104e 48 DEC EAX
CODE:0041104f 7458 JZ LAB_004110a9
CODE:00411051 e94b040000 JMP switchD_00410f86::caseD_0
LAB_00411056: ;XREF[1]: 00411015(j)
CODE:00411056 3d01020000 CMP EAX,WM_LBUTTONDOWN
CODE:0041105b 7f1d JG LAB_0041107a
CODE:0041105d 0f84db010000 JZ LAB_0041123e
CODE:00411063 2d1f010000 SUB EAX,WM_MENUSELECT
CODE:00411068 7473 JZ LAB_004110dd
CODE:0041106a 2de1000000 SUB EAX,0xe1
CODE:0041106f 0f849b010000 JZ LAB_00411210
CODE:00411075 e927040000 JMP switchD_00410f86::caseD_0
LAB_0041107a: ;XREF[1]: 0041105b(j)
CODE:0041107a 2d02020000 SUB EAX,WM_LBUTTONUP
CODE:0041107f 0f8432020000 JZ LAB_004112b7
CODE:00411085 2dfe010000 SUB EAX,0x1fe
CODE:0041108a 0f8458030000 JZ LAB_004113e8
CODE:00411090 e90c040000 JMP switchD_00410f86::caseD_0
caseD_1: ;XREF[2]: 00410f86(j),00410f91(*)
CODE:00411095 6a00 PUSH 0x0 ;LPARAM lParam for PostMessageA
CODE:00411097 6a00 PUSH 0x0 ;WPARAM wParam for PostMessageA
CODE:00411099 6800040000 PUSH 0x400 ;UINT Msg for PostMessageA
CODE:0041109e 53 PUSH EBX ;HWND hWnd for PostMessageA
;WM_CREATE
CODE:0041109f e851450400 CALL USER32.DLL::PostMessageA ;BOOL PostMessageA(HWND hWnd, UINT Ms...
CODE:004110a4 e9f8030000 JMP switchD_00410f86::caseD_0
LAB_004110a9: ;XREF[1]: 0041104f(j)
CODE:004110a9 6a00 PUSH 0x0 ;BOOL bRevert for GetSystemMenu
CODE:004110ab 53 PUSH EBX ;HWND hWnd for GetSystemMenu
CODE:004110ac e828460400 CALL USER32.DLL::GetSystemMenu ;HMENU GetSystemMenu(HWND hWnd, BOOL ...
CODE:004110b1 33d2 XOR EDX,EDX
CODE:004110b3 837dfc00 CMP dword ptr [EBP + local_8+0x4],0x0
CODE:004110b7 7503 JNZ LAB_004110bc
CODE:004110b9 83c203 ADD EDX,0x3
LAB_004110bc: ;XREF[1]: 004110b7(j)
CODE:004110bc 52 PUSH EDX ;UINT uEnable for EnableMenuItem
CODE:004110bd 6810f00000 PUSH 0xf010 ;UINT uIDEnableItem for EnableMenuItem
CODE:004110c2 50 PUSH EAX ;HMENU hMenu for EnableMenuItem
CODE:004110c3 e8d5450400 CALL USER32.DLL::EnableMenuItem ;BOOL EnableMenuItem(HMENU hMenu, UIN...
CODE:004110c8 837dfc00 CMP dword ptr [EBP + local_8+0x4],0x0
CODE:004110cc 0f85cf030000 JNZ switchD_00410f86::caseD_0
CODE:004110d2 ff1544024600 CALL dword ptr [->DoNothing] ;undefined DoNothing(void)
;= 00412272
CODE:004110d8 e9c4030000 JMP switchD_00410f86::caseD_0
LAB_004110dd: ;XREF[1]: 00411068(j)
CODE:004110dd 837d1400 CMP dword ptr [EBP + lParam+0x4],0x0
CODE:004110e1 0f85ba030000 JNZ switchD_00410f86::caseD_0
CODE:004110e7 8bc7 MOV EAX,EDI
CODE:004110e9 c1e810 SHR EAX,0x10
CODE:004110ec 6625ffff AND AX,0xffff
CODE:004110f0 663dffff CMP AX,0xffff
CODE:004110f4 0f85a7030000 JNZ switchD_00410f86::caseD_0
CODE:004110fa 837dfc00 CMP dword ptr [EBP + local_8+0x4],0x0
CODE:004110fe 0f859d030000 JNZ switchD_00410f86::caseD_0
CODE:00411104 ff1548024600 CALL dword ptr [->DoNothing] ;undefined DoNothing(void)
;= 00412272
CODE:0041110a e992030000 JMP switchD_00410f86::caseD_0
LAB_0041110f: ;XREF[1]: 00411038(j)
CODE:0041110f 57 PUSH EDI
CODE:00411110 ff1550024600 CALL dword ptr [->DoNothing] ;undefined DoNothing(void)
;= 00412272
CODE:00411116 59 POP ECX
CODE:00411117 e985030000 JMP switchD_00410f86::caseD_0
LAB_0041111c: ;XREF[1]: 00410f77(j)
CODE:0041111c b801000000 MOV EAX,0x1
CODE:00411121 e986030000 JMP LAB_004114ac
;WM_PAINT
caseD_f: ;XREF[2]: 00410f86(j),00410fc9(*)
CODE:00411126 66833dbc0... CMP word ptr [DATA:G...,0x0 ;= 0001h
CODE:0041112e 740e JZ LAB_0041113e
CODE:00411130 66c705bc0... MOV word ptr [DATA:G...,0x0 ;= 0001h
CODE:00411139 e8f2fbffff CALL Game::MakeWindowAnnoying ;undefined MakeWindowAnnoying(void)
LAB_0041113e: ;XREF[1]: 0041112e(j)
CODE:0041113e 53 PUSH EBX
CODE:0041113f e8cffdffff CALL FUN_00410f13 ;undefined FUN_00410f13(undefined4 pa...
CODE:00411144 59 POP ECX
CODE:00411145 e957030000 JMP switchD_00410f86::caseD_0
LAB_0041114a: ;XREF[1]: 00411005(j)
CODE:0041114a 6a10 PUSH 0x10 ;int vKey for GetAsyncKeyState
CODE:0041114c e840450400 CALL USER32.DLL::GetAsyncKeyState ;SHORT GetAsyncKeyState(int vKey)
CODE:00411151 6685c0 TEST AX,AX
CODE:00411154 7409 JZ LAB_0041115f
CODE:00411156 66c705784... MOV word ptr [DATA:DAT_00464878],0x1 ;= ??
LAB_0041115f: ;XREF[1]: 00411154(j)
CODE:0041115f 66c705784... MOV word ptr [DATA:DAT_00464878],0x0 ;= ??
CODE:00411168 f6451740 TEST byte ptr [EBP + lParam+0x7],0x40
CODE:0041116c 0f852f030000 JNZ switchD_00410f86::caseD_0
CODE:00411172 83ff21 CMP EDI,0x21
CODE:00411175 721f JC LAB_00411196
CODE:00411177 83ff28 CMP EDI,0x28
CODE:0041117a 771a JA LAB_00411196
CODE:0041117c 66893d784... MOV word ptr [DATA:DAT_00464878],DI ;= ??
CODE:00411183 6a00 PUSH 0x0
CODE:00411185 57 PUSH EDI
CODE:00411186 ff1528024600 CALL dword ptr [->FUN_0041226d] ;undefined FUN_0041226d(void)
;= 0041226d
CODE:0041118c 83c408 ADD ESP,0x8
CODE:0041118f 33c0 XOR EAX,EAX
CODE:00411191 e916030000 JMP LAB_004114ac
LAB_00411196: ;XREF[2]: 00411175(j),0041117a(j)
CODE:00411196 83ff70 CMP EDI,0x70
CODE:00411199 0f8202030000 JC switchD_00410f86::caseD_0
CODE:0041119f 81ff87000000 CMP EDI,0x87
CODE:004111a5 0f87f6020000 JA switchD_00410f86::caseD_0
CODE:004111ab 66893d784... MOV word ptr [DATA:DAT_00464878],DI ;= ??
CODE:004111b2 6a00 PUSH 0x0
CODE:004111b4 6681c70001 ADD DI,0x100
CODE:004111b9 57 PUSH EDI
CODE:004111ba ff1528024600 CALL dword ptr [->FUN_0041226d] ;undefined FUN_0041226d(void)
;= 0041226d
CODE:004111c0 83c408 ADD ESP,0x8
CODE:004111c3 33c0 XOR EAX,EAX
CODE:004111c5 e9e2020000 JMP LAB_004114ac
LAB_004111ca: ;XREF[1]: 0041102f(j)
CODE:004111ca 6a11 PUSH 0x11 ;int vKey for GetAsyncKeyState
CODE:004111cc e8c0440400 CALL USER32.DLL::GetAsyncKeyState ;SHORT GetAsyncKeyState(int vKey)
CODE:004111d1 f6c480 TEST AH,0x80
CODE:004111d4 741a JZ LAB_004111f0
CODE:004111d6 8bc7 MOV EAX,EDI
CODE:004111d8 6683c060 ADD AX,0x60
CODE:004111dc 50 PUSH EAX
CODE:004111dd ff1540024600 CALL dword ptr [->FUN_00412278] ;undefined4 FUN_00412278(void)
;= 00412278
CODE:004111e3 59 POP ECX
CODE:004111e4 6685c0 TEST AX,AX
CODE:004111e7 7407 JZ LAB_004111f0
CODE:004111e9 33c0 XOR EAX,EAX
CODE:004111eb e9bc020000 JMP LAB_004114ac
LAB_004111f0: ;XREF[2]: 004111d4(j),004111e7(j)
CODE:004111f0 893d70484600 MOV dword ptr [DATA:DAT_00464870],EDI ;= ??
CODE:004111f6 66c705784... MOV word ptr [DATA:DAT_00464878],0x0 ;= ??
CODE:004111ff 6a00 PUSH 0x0
CODE:00411201 57 PUSH EDI
CODE:00411202 ff1528024600 CALL dword ptr [->FUN_0041226d] ;undefined FUN_0041226d(void)
;= 0041226d
CODE:00411208 83c408 ADD ESP,0x8
CODE:0041120b e991020000 JMP switchD_00410f86::caseD_0
LAB_00411210: ;XREF[1]: 0041106f(j)
CODE:00411210 0fb74514 MOVZX EAX,word ptr [EBP + lParam+0x4]
CODE:00411214 2b0538484600 SUB EAX,dword ptr [DATA:Game::mouseInputR...
CODE:0041121a a368484600 MOV [DATA:DAT_00464868],EAX ;= ??
CODE:0041121f 8b4514 MOV EAX,dword ptr [EBP + lParam+0x4]
CODE:00411222 c1e810 SHR EAX,0x10
CODE:00411225 6625ffff AND AX,0xffff
CODE:00411229 0fb7c0 MOVZX EAX,AX
CODE:0041122c 2b0540484600 SUB EAX,dword ptr [DATA:mouseInputRect.ri...
CODE:00411232 a36c484600 MOV [DATA:DAT_0046486c],EAX ;= ??
CODE:00411237 33c0 XOR EAX,EAX
CODE:00411239 e96e020000 JMP LAB_004114ac
LAB_0041123e: ;XREF[1]: 0041105d(j)
CODE:0041123e 66833d680... CMP word ptr [DATA:DAT_00460268],0x0 ;= 0001h
CODE:00411246 7412 JZ LAB_0041125a
CODE:00411248 ff7514 PUSH dword ptr [EBP + lParam+0x4] ;LPARAM lParam for PostMessageA
CODE:0041124b 57 PUSH EDI ;WPARAM wParam for PostMessageA
CODE:0041124c 56 PUSH ESI ;UINT Msg for PostMessageA
CODE:0041124d 53 PUSH EBX ;HWND hWnd for PostMessageA
CODE:0041124e e8a2430400 CALL USER32.DLL::PostMessageA ;BOOL PostMessageA(HWND hWnd, UINT Ms...
CODE:00411253 33c0 XOR EAX,EAX
CODE:00411255 e952020000 JMP LAB_004114ac
LAB_0041125a: ;XREF[1]: 00411246(j)
CODE:0041125a 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
CODE:0041125d 50 PUSH EAX ;LPPOINT lpPoint for GetCursorPos
CODE:0041125e e804440400 CALL USER32.DLL::GetCursorPos ;BOOL GetCursorPos(LPPOINT lpPoint)
CODE:00411263 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
CODE:00411266 50 PUSH EAX ;LPPOINT lpPoint for ScreenToClient
CODE:00411267 53 PUSH EBX ;HWND hWnd for ScreenToClient
CODE:00411268 e870430400 CALL USER32.DLL::ScreenToClient ;BOOL ScreenToClient(HWND hWnd, LPPOI...
CODE:0041126d 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
CODE:00411270 2b0538484600 SUB EAX,dword ptr [DATA:Game::mouseInputR...
CODE:00411276 a368484600 MOV [DATA:DAT_00464868],EAX ;= ??
CODE:0041127b 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
CODE:0041127e 2b053c484600 SUB EAX,dword ptr [DATA:mouseInputRect.top]
CODE:00411284 a36c484600 MOV [DATA:DAT_0046486c],EAX ;= ??
CODE:00411289 66c705784... MOV word ptr [DATA:DAT_00464878],0x8000 ;= ??
CODE:00411292 66a16c484600 MOV AX,[DATA:DAT_0046486c] ;= ??
CODE:00411298 50 PUSH EAX
CODE:00411299 66a168484600 MOV AX,[DATA:DAT_00464868] ;= ??
CODE:0041129f 50 PUSH EAX
CODE:004112a0 ff1520024600 CALL dword ptr [->FUN_00412268] ;undefined FUN_00412268(void)
;= 00412268
CODE:004112a6 83c408 ADD ESP,0x8
CODE:004112a9 66c705ba0... MOV word ptr [DATA:DAT_004601ba],0x1
CODE:004112b2 e9ea010000 JMP switchD_00410f86::caseD_0
LAB_004112b7: ;XREF[1]: 0041107f(j)
CODE:004112b7 66833dba0... CMP word ptr [DATA:DAT_004601ba],0x0
CODE:004112bf 0f84dc010000 JZ switchD_00410f86::caseD_0
CODE:004112c5 66833d680... CMP word ptr [DATA:DAT_00460268],0x0 ;= 0001h
CODE:004112cd 7412 JZ LAB_004112e1
CODE:004112cf ff7514 PUSH dword ptr [EBP + lParam+0x4] ;LPARAM lParam for PostMessageA
CODE:004112d2 57 PUSH EDI ;WPARAM wParam for PostMessageA
CODE:004112d3 56 PUSH ESI ;UINT Msg for PostMessageA
CODE:004112d4 53 PUSH EBX ;HWND hWnd for PostMessageA
CODE:004112d5 e81b430400 CALL USER32.DLL::PostMessageA ;BOOL PostMessageA(HWND hWnd, UINT Ms...
CODE:004112da 33c0 XOR EAX,EAX
CODE:004112dc e9cb010000 JMP LAB_004114ac
LAB_004112e1: ;XREF[1]: 004112cd(j)
CODE:004112e1 8d45ec LEA EAX=>local_18,[EBP + -0x14]
CODE:004112e4 50 PUSH EAX ;LPPOINT lpPoint for GetCursorPos
CODE:004112e5 e87d430400 CALL USER32.DLL::GetCursorPos ;BOOL GetCursorPos(LPPOINT lpPoint)
CODE:004112ea 8d45ec LEA EAX=>local_18,[EBP + -0x14]
CODE:004112ed 50 PUSH EAX ;LPPOINT lpPoint for ScreenToClient
CODE:004112ee 53 PUSH EBX ;HWND hWnd for ScreenToClient
CODE:004112ef e8e9420400 CALL USER32.DLL::ScreenToClient ;BOOL ScreenToClient(HWND hWnd, LPPOI...
CODE:004112f4 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
CODE:004112f7 2b0538484600 SUB EAX,dword ptr [DATA:Game::mouseInputR...
CODE:004112fd a368484600 MOV [DATA:DAT_00464868],EAX ;= ??
CODE:00411302 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
CODE:00411305 2b053c484600 SUB EAX,dword ptr [DATA:mouseInputRect.top]
CODE:0041130b a36c484600 MOV [DATA:DAT_0046486c],EAX ;= ??
CODE:00411310 66c705784... MOV word ptr [DATA:DAT_00464878],0x8000 ;= ??
CODE:00411319 66a16c484600 MOV AX,[DATA:DAT_0046486c] ;= ??
CODE:0041131f 50 PUSH EAX
CODE:00411320 66a168484600 MOV AX,[DATA:DAT_00464868] ;= ??
CODE:00411326 50 PUSH EAX
CODE:00411327 ff1524024600 CALL dword ptr [->FUN_00412268] ;undefined FUN_00412268(void)
;= 00412268
CODE:0041132d 83c408 ADD ESP,0x8
CODE:00411330 66c705ba0... MOV word ptr [DATA:DAT_004601ba],0x0
CODE:00411339 e963010000 JMP switchD_00410f86::caseD_0
LAB_0041133e: ;XREF[1]: 00411048(j)
CODE:0041133e 33c0 XOR EAX,EAX
CODE:00411340 e967010000 JMP LAB_004114ac
caseD_10: ;XREF[2]: 00410f86(j),00410fcd(*)
CODE:00411345 668b45fc MOV AX,word ptr [EBP + local_8+0x4]
CODE:00411349 50 PUSH EAX
;WM_CLOSE
CODE:0041134a ff1554024600 CALL dword ptr [->FUN_00412278] ;undefined4 FUN_00412278(void)
;= 00412278
CODE:00411350 59 POP ECX
CODE:00411351 33c0 XOR EAX,EAX
CODE:00411353 e954010000 JMP LAB_004114ac
;WM_ACTIVATE
caseD_6: ;XREF[2]: 00410f86(j),00410fa5(*)
CODE:00411358 85ff TEST EDI,EDI
CODE:0041135a 0f8441010000 JZ switchD_00410f86::caseD_0
CODE:00411360 8b4514 MOV EAX,dword ptr [EBP + lParam+0x4]
CODE:00411363 c1e810 SHR EAX,0x10
CODE:00411366 66a9ffff TEST AX,0xffff
CODE:0041136a 0f8531010000 JNZ switchD_00410f86::caseD_0
CODE:00411370 66833d744... CMP word ptr [DATA:DAT_00464874],0x0 ;= ??
CODE:00411378 0f8523010000 JNZ switchD_00410f86::caseD_0
CODE:0041137e 66c705744... MOV word ptr [DATA:DAT_00464874],0x1 ;= ??
CODE:00411387 6a00 PUSH 0x0
CODE:00411389 e822f8ffff CALL Game::ShowTaskbar ;undefined ShowTaskbar(undefined2 sho...
CODE:0041138e 59 POP ECX
CODE:0041138f 6a00 PUSH 0x0
CODE:00411391 e8c6f50100 CALL Draw::DirtyRect ;void DirtyRect(Rect16 * rectOptional)
CODE:00411396 59 POP ECX
CODE:00411397 ff1530024600 CALL dword ptr [->DoNothing] ;undefined DoNothing(void)
;= 00412272
CODE:0041139d 66c705bc0... MOV word ptr [DATA:G...,0x1 ;= 0001h
CODE:004113a6 6a00 PUSH 0x0 ;BOOL bErase for InvalidateRect
CODE:004113a8 6a00 PUSH 0x0 ;RECT * lpRect for InvalidateRect
CODE:004113aa ff3534484600 PUSH dword ptr [DATA:Game::window] ;HWND hWnd for InvalidateRect
CODE:004113b0 e86a420400 CALL USER32.DLL::InvalidateRect ;BOOL InvalidateRect(HWND hWnd, RECT ...
CODE:004113b5 e9e7000000 JMP switchD_00410f86::caseD_0
LAB_004113ba: ;XREF[1]: 00410fe3(j)
CODE:004113ba 85ff TEST EDI,EDI
CODE:004113bc 0f85df000000 JNZ switchD_00410f86::caseD_0
CODE:004113c2 66833d744... CMP word ptr [DATA:DAT_00464874],0x0 ;= ??
CODE:004113ca 740e JZ LAB_004113da
CODE:004113cc 6a01 PUSH 0x1
CODE:004113ce e8ddf7ffff CALL Game::ShowTaskbar ;undefined ShowTaskbar(undefined2 sho...
CODE:004113d3 59 POP ECX
CODE:004113d4 ff1534024600 CALL dword ptr [->DoNothing] ;undefined DoNothing(void)
;= 00412272
LAB_004113da: ;XREF[1]: 004113ca(j)
CODE:004113da 66c705744... MOV word ptr [DATA:DAT_00464874],0x0 ;= ??
CODE:004113e3 e9b9000000 JMP switchD_00410f86::caseD_0
LAB_004113e8: ;XREF[1]: 0041108a(j)
CODE:004113e8 837dfc00 CMP dword ptr [EBP + local_8+0x4],0x0
CODE:004113ec 740d JZ LAB_004113fb
CODE:004113ee 6a09 PUSH 0x9 ;int nCmdShow for ShowWindow
CODE:004113f0 53 PUSH EBX ;HWND hWnd for ShowWindow
CODE:004113f1 e837430400 CALL USER32.DLL::ShowWindow ;BOOL ShowWindow(HWND hWnd, int nCmdS...
CODE:004113f6 e9a6000000 JMP switchD_00410f86::caseD_0
LAB_004113fb: ;XREF[1]: 004113ec(j)
CODE:004113fb 53 PUSH EBX ;HWND hWnd for SetActiveWindow
CODE:004113fc e80c420400 CALL USER32.DLL::SetActiveWindow ;HWND SetActiveWindow(HWND hWnd)
CODE:00411401 e99b000000 JMP switchD_00410f86::caseD_0
LAB_00411406: ;XREF[1]: 00410fec(j)
CODE:00411406 33c0 XOR EAX,EAX
CODE:00411408 e99f000000 JMP LAB_004114ac
;WM_QUERYENDSESSION
caseD_11: ;XREF[2]: 00410f86(j),00410fd1(*)
CODE:0041140d 837dfc00 CMP dword ptr [EBP + local_8+0x4],0x0
CODE:00411411 7408 JZ LAB_0041141b
CODE:00411413 6a09 PUSH 0x9 ;int nCmdShow for ShowWindow
CODE:00411415 53 PUSH EBX ;HWND hWnd for ShowWindow
CODE:00411416 e812430400 CALL USER32.DLL::ShowWindow ;BOOL ShowWindow(HWND hWnd, int nCmdS...
LAB_0041141b: ;XREF[1]: 00411411(j)
CODE:0041141b 53 PUSH EBX ;HWND hWnd for SetForegroundWindow
CODE:0041141c e8c8410400 CALL USER32.DLL::SetForegroundWindow ;BOOL SetForegroundWindow(HWND hWnd)
CODE:00411421 6a00 PUSH 0x0
CODE:00411423 ff1554024600 CALL dword ptr [->FUN_00412278] ;undefined4 FUN_00412278(void)
;= 00412278
CODE:00411429 59 POP ECX
CODE:0041142a 0fbfc0 MOVSX EAX,AX
CODE:0041142d eb7d JMP LAB_004114ac
LAB_0041142f: ;XREF[1]: 00411024(j)
CODE:0041142f 8bc7 MOV EAX,EDI
CODE:00411431 25f0ff0000 AND EAX,0xfff0
CODE:00411436 2dd0070000 SUB EAX,0x7d0
CODE:0041143b 740e JZ LAB_0041144b
CODE:0041143d 2d40e80000 SUB EAX,0xe840
CODE:00411442 7421 JZ LAB_00411465
CODE:00411444 83e850 SUB EAX,0x50
CODE:00411447 740c JZ LAB_00411455
CODE:00411449 eb56 JMP switchD_00410f86::caseD_0
LAB_0041144b: ;XREF[1]: 0041143b(j)
CODE:0041144b ff154c024600 CALL dword ptr [->DoNothing] ;undefined DoNothing(void)
;= 00412272
CODE:00411451 33c0 XOR EAX,EAX
CODE:00411453 eb57 JMP LAB_004114ac
LAB_00411455: ;XREF[1]: 00411447(j)
CODE:00411455 668b45fc MOV AX,word ptr [EBP + local_8+0x4]
CODE:00411459 50 PUSH EAX
CODE:0041145a ff1554024600 CALL dword ptr [->FUN_00412278] ;undefined4 FUN_00412278(void)
;= 00412278
CODE:00411460 59 POP ECX
CODE:00411461 33c0 XOR EAX,EAX
CODE:00411463 eb47 JMP LAB_004114ac
LAB_00411465: ;XREF[1]: 00411442(j)
CODE:00411465 837dfc00 CMP dword ptr [EBP + local_8+0x4],0x0
CODE:00411469 7536 JNZ switchD_00410f86::caseD_0
CODE:0041146b 33c0 XOR EAX,EAX
CODE:0041146d eb3d JMP LAB_004114ac
LAB_0041146f: ;XREF[1]: 00410fda(j)
CODE:0041146f 8bc7 MOV EAX,EDI
CODE:00411471 0fb75514 MOVZX EDX,word ptr [EBP + lParam+0x4]
CODE:00411475 8955e4 MOV dword ptr [EBP + local_20+0x4],EDX
CODE:00411478 8b5514 MOV EDX,dword ptr [EBP + lParam+0x4]
CODE:0041147b c1ea10 SHR EDX,0x10
CODE:0041147e 6681e2ffff AND DX,0xffff
CODE:00411483 0fb7d2 MOVZX EDX,DX
CODE:00411486 8955e8 MOV dword ptr [EBP + local_1c+0x4],EDX
CODE:00411489 85c0 TEST EAX,EAX
CODE:0041148b eb14 JMP switchD_00410f86::caseD_0
caseD_2: ;XREF[2]: 00410f86(j),00410f95(*)
CODE:0041148d 6a00 PUSH 0x0 ;int nExitCode for PostQuitMessage
;WM_DESTROY
CODE:0041148f e85b410400 CALL USER32.DLL::PostQuitMessage ;void PostQuitMessage(int nExitCode)
CODE:00411494 66c705b60... MOV word ptr [DATA:DAT_004601b6],0xffff
CODE:0041149d 33c0 XOR EAX,EAX
CODE:0041149f eb0b JMP LAB_004114ac
caseD_3: ;XREF[21]: 00410f6c(j),00410f80(j),00410ff2(j),00410ffc(j),
caseD_4: ; 0041100b(j),00411017(j),0041103e(j),00411051(j),
caseD_5: ; 00411075(j),00411090(j),004110cc(j),004110d8(j),
caseD_7: ; 004110e1(j),004110f4(j),004110fe(j),0041110a(j),
caseD_8: ; 00411117(j),0041116c(j),00411199(j),004111a5(j),
caseD_9: ; 0041120b(j)
caseD_a:
caseD_b:
caseD_c:
caseD_d:
caseD_e:
caseD_0:
CODE:004114a1 ff7514 PUSH dword ptr [EBP + lParam+0x4] ;LPARAM lParam for DefWindowProcA
CODE:004114a4 57 PUSH EDI ;WPARAM wParam for DefWindowProcA
CODE:004114a5 56 PUSH ESI ;UINT Msg for DefWindowProcA
CODE:004114a6 53 PUSH EBX ;HWND hWnd for DefWindowProcA
CODE:004114a7 e827420400 CALL USER32.DLL::DefWindowProcA ;LRESULT DefWindowProcA(HWND hWnd, UI...
LAB_004114ac: ;XREF[15]: 00411121(j),00411191(j),004111c5(j),004111eb(j),
; 00411239(j),00411255(j),004112dc(j),00411340(j),
; 00411353(j),00411408(j),0041142d(j),00411453(j),
; 00411463(j),0041146d(j),0041149f(j)
CODE:004114ac 5f POP EDI
CODE:004114ad 5e POP ESI
CODE:004114ae 5b POP EBX
CODE:004114af 8be5 MOV ESP,EBP
CODE:004114b1 5d POP EBP
CODE:004114b2 c21000 RET 0x10
CODE:004114b5 c3 ?? C3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_004114b6(void)
;local_20 undefined1 -20 ;XREF[3]: 004114cc(*),004114da(*),004114e3(*)
;XREF[2]: 0042681e(c),00426842(c)
CODE:004114b6 55 PUSH EBP
CODE:004114b7 8bec MOV EBP,ESP
CODE:004114b9 83c4e4 ADD ESP,-0x1c
CODE:004114bc 53 PUSH EBX
CODE:004114bd 56 PUSH ESI
CODE:004114be 33db XOR EBX,EBX
CODE:004114c0 66be3200 MOV SI,0x32
LAB_004114c4: ;XREF[2]: 004114f9(j),004114fe(j)
CODE:004114c4 6a01 PUSH 0x1 ;UINT wRemoveMsg for PeekMessageA
CODE:004114c6 6a00 PUSH 0x0 ;UINT wMsgFilterMax for PeekMessageA
CODE:004114c8 6a00 PUSH 0x0 ;UINT wMsgFilterMin for PeekMessageA
CODE:004114ca 6a00 PUSH 0x0 ;HWND hWnd for PeekMessageA
CODE:004114cc 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
CODE:004114cf 50 PUSH EAX ;LPMSG lpMsg for PeekMessageA
CODE:004114d0 e84c420400 CALL USER32.DLL::PeekMessageA ;BOOL PeekMessageA(LPMSG lpMsg, HWND ...
CODE:004114d5 85c0 TEST EAX,EAX
CODE:004114d7 7416 JZ LAB_004114ef
CODE:004114d9 43 INC EBX
CODE:004114da 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
CODE:004114dd 50 PUSH EAX ;MSG * lpMsg for TranslateMessage
CODE:004114de e844420400 CALL USER32.DLL::TranslateMessage ;BOOL TranslateMessage(MSG * lpMsg)
CODE:004114e3 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
CODE:004114e6 50 PUSH EAX ;MSG * lpMsg for DispatchMessageA
CODE:004114e7 e8c3410400 CALL USER32.DLL::DispatchMessageA ;LRESULT DispatchMessageA(MSG * lpMsg)
CODE:004114ec 4e DEC ESI
CODE:004114ed eb02 JMP LAB_004114f1
LAB_004114ef: ;XREF[1]: 004114d7(j)
CODE:004114ef 33f6 XOR ESI,ESI
LAB_004114f1: ;XREF[1]: 004114ed(j)
CODE:004114f1 66833d744... CMP word ptr [DATA:DAT_00464874],0x0 ;= ??
CODE:004114f9 74c9 JZ LAB_004114c4
CODE:004114fb 6685f6 TEST SI,SI
CODE:004114fe 75c4 JNZ LAB_004114c4
CODE:00411500 6685db TEST BX,BX
CODE:00411503 7506 JNZ LAB_0041150b
CODE:00411505 ff1538024600 CALL dword ptr [->DoNothing] ;undefined DoNothing(void)
;= 00412272
LAB_0041150b: ;XREF[1]: 00411503(j)
CODE:0041150b ff153c024600 CALL dword ptr [->DoNothing] ;undefined DoNothing(void)
;= 00412272
CODE:00411511 8bc3 MOV EAX,EBX
CODE:00411513 5e POP ESI
CODE:00411514 5b POP EBX
CODE:00411515 8be5 MOV ESP,EBP
CODE:00411517 5d POP EBP
CODE:00411518 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00411519(void)
;local_20 undefined1 -20 ;XREF[3]: 00411530(*),0041153d(*),00411546(*)
CODE:00411519 55 PUSH EBP
CODE:0041151a 8bec MOV EBP,ESP
CODE:0041151c 83c4e4 ADD ESP,-0x1c
CODE:0041151f 66c705784... MOV word ptr [DATA:DAT_00464878],0x0 ;= ??
LAB_00411528: ;XREF[1]: 0041158d(j)
CODE:00411528 6a01 PUSH 0x1 ;UINT wRemoveMsg for PeekMessageA
CODE:0041152a 6a00 PUSH 0x0 ;UINT wMsgFilterMax for PeekMessageA
CODE:0041152c 6a00 PUSH 0x0 ;UINT wMsgFilterMin for PeekMessageA
CODE:0041152e 6a00 PUSH 0x0 ;HWND hWnd for PeekMessageA
CODE:00411530 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
CODE:00411533 50 PUSH EAX ;LPMSG lpMsg for PeekMessageA
CODE:00411534 e8e8410400 CALL USER32.DLL::PeekMessageA ;BOOL PeekMessageA(LPMSG lpMsg, HWND ...
CODE:00411539 85c0 TEST EAX,EAX
CODE:0041153b 7412 JZ LAB_0041154f
CODE:0041153d 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
CODE:00411540 50 PUSH EAX ;MSG * lpMsg for TranslateMessage
CODE:00411541 e8e1410400 CALL USER32.DLL::TranslateMessage ;BOOL TranslateMessage(MSG * lpMsg)
CODE:00411546 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
CODE:00411549 50 PUSH EAX ;MSG * lpMsg for DispatchMessageA
CODE:0041154a e860410400 CALL USER32.DLL::DispatchMessageA ;LRESULT DispatchMessageA(MSG * lpMsg)
LAB_0041154f: ;XREF[1]: 0041153b(j)
CODE:0041154f ff3534484600 PUSH dword ptr [DATA:Game::window] ;HWND hWnd for IsIconic
CODE:00411555 e8bf400400 CALL USER32.DLL::IsIconic ;BOOL IsIconic(HWND hWnd)
CODE:0041155a 85c0 TEST EAX,EAX
CODE:0041155c 750d JNZ LAB_0041156b
CODE:0041155e e810410400 CALL USER32.DLL::GetActiveWindow ;HWND GetActiveWindow(void)
CODE:00411563 3b0534484600 CMP EAX,dword ptr [DATA:Game::window] ;= NaP
CODE:00411569 7409 JZ LAB_00411574
LAB_0041156b: ;XREF[1]: 0041155c(j)
CODE:0041156b 66c705b80... MOV word ptr [DATA:DAT_004601b8],0x4
LAB_00411574: ;XREF[1]: 00411569(j)
CODE:00411574 66833db80... CMP word ptr [DATA:DAT_004601b8],0x0
CODE:0041157c 7e11 JLE LAB_0041158f
CODE:0041157e 66ff0db80... DEC word ptr [DATA:DAT_004601b8]
CODE:00411585 66833db60... CMP word ptr [DATA:DAT_004601b6],-0x1
CODE:0041158d 7599 JNZ LAB_00411528
LAB_0041158f: ;XREF[1]: 0041157c(j)
CODE:0041158f 66a178484600 MOV AX,[DATA:DAT_00464878] ;= ??
CODE:00411595 8be5 MOV ESP,EBP
CODE:00411597 5d POP EBP
CODE:00411598 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411599(void)
;XREF[10]: 0041543c(c),0041567d(c),004180fc(c),004187b9(c),
; 004188ab(c),0042fb02(c),0043e523(c),0043e652(c),
; 0044ba09(c),0044efc1(c)
CODE:00411599 55 PUSH EBP
CODE:0041159a 8bec MOV EBP,ESP
CODE:0041159c 5d POP EBP
CODE:0041159d c3 RET
CODE:0041159e 66 ?? 66h f
CODE:0041159f c7 ?? C7h
CODE:004115a0 05 ?? 05h
CODE:004115a1 b4 ?? B4h ;? -> 004601b4
CODE:004115a2 01 ?? 01h
CODE:004115a3 46 ?? 46h F
CODE:004115a4 00 ?? 00h
CODE:004115a5 01 ?? 01h
CODE:004115a6 00 ?? 00h
CODE:004115a7 c3 ?? C3h
CODE:004115a8 66 ?? 66h f
CODE:004115a9 c7 ?? C7h
CODE:004115aa 05 ?? 05h
CODE:004115ab b4 ?? B4h ;? -> 004601b4
CODE:004115ac 01 ?? 01h
CODE:004115ad 46 ?? 46h F
CODE:004115ae 00 ?? 00h
CODE:004115af 00 ?? 00h
CODE:004115b0 00 ?? 00h
CODE:004115b1 c3 ?? C3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_004115b2(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 00411654(c)
CODE:004115b2 55 PUSH EBP
CODE:004115b3 8bec MOV EBP,ESP
CODE:004115b5 53 PUSH EBX
CODE:004115b6 56 PUSH ESI
CODE:004115b7 8b7508 MOV ESI,dword ptr [EBP + Stack[0x4]+0x4]
CODE:004115ba 33db XOR EBX,EBX
CODE:004115bc eb15 JMP LAB_004115d3
LAB_004115be: ;XREF[1]: 004115dc(j)
CODE:004115be 0fbfc3 MOVSX EAX,BX
CODE:004115c1 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:004115c4 663b3445d... CMP SI,word ptr [EAX*0x2 + DATA:DAT_00464...;= ??
CODE:004115cc 7504 JNZ LAB_004115d2
CODE:004115ce 8bc3 MOV EAX,EBX
CODE:004115d0 eb44 JMP LAB_00411616
LAB_004115d2: ;XREF[1]: 004115cc(j)
CODE:004115d2 43 INC EBX
LAB_004115d3: ;XREF[1]: 004115bc(j)
CODE:004115d3 0fbfc3 MOVSX EAX,BX
CODE:004115d6 3b05c8014600 CMP EAX,dword ptr [DATA:DAT_004601c8]
CODE:004115dc 7ce0 JL LAB_004115be
CODE:004115de 6683fb0a CMP BX,0xa
CODE:004115e2 7430 JZ LAB_00411614
CODE:004115e4 0fbfc3 MOVSX EAX,BX
CODE:004115e7 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:004115ea 66893445d... MOV word ptr [EAX*0x...,SI ;= ??
CODE:004115f2 0fb7c6 MOVZX EAX,SI
CODE:004115f5 50 PUSH EAX ;LPCSTR lpCursorName for LoadCursorA
CODE:004115f6 ff355c484600 PUSH dword ptr [DATA:$Module] ;HINSTANCE hInstance for LoadCursorA
CODE:004115fc e812400400 CALL USER32.DLL::LoadCursorA ;HCURSOR LoadCursorA(HINSTANCE hInsta...
CODE:00411601 0fbfd3 MOVSX EDX,BX
CODE:00411604 8d1452 LEA EDX,[EDX + EDX*0x2]
CODE:00411607 890455d04... MOV dword ptr [EDX*0...,EAX ;= NaP
CODE:0041160e ff05c8014600 INC dword ptr [DATA:DAT_004601c8]
LAB_00411614: ;XREF[1]: 004115e2(j)
CODE:00411614 8bc3 MOV EAX,EBX
LAB_00411616: ;XREF[1]: 004115d0(j)
CODE:00411616 5e POP ESI
CODE:00411617 5b POP EBX
CODE:00411618 5d POP EBP
CODE:00411619 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041161a(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 0042fea9(c),0042ff74(c),0042ff7e(c),00430104(c),
; 00443fcc(c),00444090(c)
CODE:0041161a 55 PUSH EBP
CODE:0041161b 8bec MOV EBP,ESP
CODE:0041161d 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00411620 0fbfd0 MOVSX EDX,AX
CODE:00411623 83eaff SUB EDX,-0x1
CODE:00411626 7417 JZ LAB_0041163f
CODE:00411628 4a DEC EDX
CODE:00411629 7528 JNZ LAB_00411653
CODE:0041162b 68007f0000 PUSH 0x7f00 ;LPCSTR lpCursorName for LoadCursorA
CODE:00411630 6a00 PUSH 0x0 ;HINSTANCE hInstance for LoadCursorA
CODE:00411632 e8dc3f0400 CALL USER32.DLL::LoadCursorA ;HCURSOR LoadCursorA(HINSTANCE hInsta...
CODE:00411637 50 PUSH EAX ;HCURSOR hCursor for SetCursor
CODE:00411638 e8a63f0400 CALL USER32.DLL::SetCursor ;HCURSOR SetCursor(HCURSOR hCursor)
CODE:0041163d 5d POP EBP
CODE:0041163e c3 RET
LAB_0041163f: ;XREF[1]: 00411626(j)
CODE:0041163f 68027f0000 PUSH 0x7f02 ;LPCSTR lpCursorName for LoadCursorA
CODE:00411644 6a00 PUSH 0x0 ;HINSTANCE hInstance for LoadCursorA
CODE:00411646 e8c83f0400 CALL USER32.DLL::LoadCursorA ;HCURSOR LoadCursorA(HINSTANCE hInsta...
CODE:0041164b 50 PUSH EAX ;HCURSOR hCursor for SetCursor
CODE:0041164c e8923f0400 CALL USER32.DLL::SetCursor ;HCURSOR SetCursor(HCURSOR hCursor)
CODE:00411651 5d POP EBP
CODE:00411652 c3 RET
LAB_00411653: ;XREF[1]: 00411629(j)
CODE:00411653 50 PUSH EAX
CODE:00411654 e859ffffff CALL FUN_004115b2 ;int FUN_004115b2(undefined param_1, ...
CODE:00411659 59 POP ECX
CODE:0041165a 0fbfc0 MOVSX EAX,AX
CODE:0041165d 8d0440 LEA EAX,[EAX + EAX*0x2]
CODE:00411660 ff3445d04... PUSH dword ptr [EAX*0x2 + DATA:hCursor_004...;HCURSOR hCursor for SetCursor
CODE:00411667 e8773f0400 CALL USER32.DLL::SetCursor ;HCURSOR SetCursor(HCURSOR hCursor)
CODE:0041166c 5d POP EBP
CODE:0041166d c3 RET
CODE:0041166e 53 ?? 53h S
CODE:0041166f 6a ?? 6Ah j
CODE:00411670 00 ?? 00h
CODE:00411671 e8 ?? E8h
CODE:00411672 a4 ?? A4h
CODE:00411673 ff ?? FFh
CODE:00411674 ff ?? FFh
CODE:00411675 ff ?? FFh
CODE:00411676 59 ?? 59h Y
CODE:00411677 33 ?? 33h 3
CODE:00411678 db ?? DBh
CODE:00411679 eb ?? EBh
CODE:0041167a 13 ?? 13h
CODE:0041167b 0f ?? 0Fh
CODE:0041167c bf ?? BFh
CODE:0041167d c3 ?? C3h
CODE:0041167e 8d ?? 8Dh
CODE:0041167f 04 ?? 04h
CODE:00411680 40 ?? 40h @
CODE:00411681 ff ?? FFh
CODE:00411682 34 ?? 34h 4
CODE:00411683 45 ?? 45h E
CODE:00411684 d0 ?? D0h ;? -> 004648d0
CODE:00411685 48 ?? 48h H
CODE:00411686 46 ?? 46h F
CODE:00411687 00 ?? 00h
CODE:00411688 e8 ?? E8h
CODE:00411689 3a ?? 3Ah :
CODE:0041168a 40 ?? 40h @
CODE:0041168b 04 ?? 04h
CODE:0041168c 00 ?? 00h
CODE:0041168d 43 ?? 43h C
CODE:0041168e 0f ?? 0Fh
CODE:0041168f bf ?? BFh
CODE:00411690 c3 ?? C3h
CODE:00411691 3b ?? 3Bh ;
CODE:00411692 05 ?? 05h
CODE:00411693 c8 ?? C8h ;? -> 004601c8
CODE:00411694 01 ?? 01h
CODE:00411695 46 ?? 46h F
CODE:00411696 00 ?? 00h
CODE:00411697 7c ?? 7Ch |
CODE:00411698 e2 ?? E2h
CODE:00411699 33 ?? 33h 3
CODE:0041169a c0 ?? C0h
CODE:0041169b a3 ?? A3h
CODE:0041169c c8 ?? C8h ;? -> 004601c8
CODE:0041169d 01 ?? 01h
CODE:0041169e 46 ?? 46h F
CODE:0041169f 00 ?? 00h
CODE:004116a0 5b ?? 5Bh [
CODE:004116a1 c3 ?? C3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004116a2(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 00430082(c)
CODE:004116a2 55 PUSH EBP
CODE:004116a3 8bec MOV EBP,ESP
CODE:004116a5 53 PUSH EBX
CODE:004116a6 6a00 PUSH 0x0 ;BOOL bRevert for GetSystemMenu
CODE:004116a8 ff3534484600 PUSH dword ptr [DATA:Game::window] ;HWND hWnd for GetSystemMenu
CODE:004116ae e826400400 CALL USER32.DLL::GetSystemMenu ;HMENU GetSystemMenu(HWND hWnd, BOOL ...
CODE:004116b3 8bd8 MOV EBX,EAX
CODE:004116b5 6a00 PUSH 0x0 ;LPCSTR lpNewItem for InsertMenuA
CODE:004116b7 6800080000 PUSH 0x800 ;UINT_PTR uIDNewItem for InsertMenuA
CODE:004116bc 6800040000 PUSH 0x400 ;UINT uFlags for InsertMenuA
CODE:004116c1 6a00 PUSH 0x0 ;UINT uPosition for InsertMenuA
CODE:004116c3 53 PUSH EBX ;HMENU hMenu for InsertMenuA
CODE:004116c4 e85c3f0400 CALL USER32.DLL::InsertMenuA ;BOOL InsertMenuA(HMENU hMenu, UINT u...
CODE:004116c9 ff7508 PUSH dword ptr [EBP + Stack[0x4]+0x4] ;LPCSTR lpNewItem for InsertMenuA
CODE:004116cc 68d0070000 PUSH 0x7d0 ;UINT_PTR uIDNewItem for InsertMenuA
CODE:004116d1 6800040000 PUSH 0x400 ;UINT uFlags for InsertMenuA
CODE:004116d6 6a00 PUSH 0x0 ;UINT uPosition for InsertMenuA
CODE:004116d8 53 PUSH EBX ;HMENU hMenu for InsertMenuA
CODE:004116d9 e8473f0400 CALL USER32.DLL::InsertMenuA ;BOOL InsertMenuA(HMENU hMenu, UINT u...
CODE:004116de 5b POP EBX
CODE:004116df 5d POP EBP
CODE:004116e0 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004116e1(undefined param_1, undefined param_2, undefined param_3, undefined2 param_4, undefined4 param_5, undefined2 param_6)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined2 ;param_5 undefined4 ;param_6 undefined2 0043c86b(c)
CODE:004116e1 55 PUSH EBP
CODE:004116e2 8bec MOV EBP,ESP
CODE:004116e4 0fbf4510 MOVSX EAX,word ptr [EBP + Stack[0xc]+0x4]
CODE:004116e8 50 PUSH EAX ;int cchBufferMax for LoadStringA
CODE:004116e9 ff750c PUSH dword ptr [EBP + Stack[0x8]+0x4] ;LPSTR lpBuffer for LoadStringA
CODE:004116ec 0fbf4508 MOVSX EAX,word ptr [EBP + Stack[0x4]+0x4]
CODE:004116f0 50 PUSH EAX ;UINT uID for LoadStringA
CODE:004116f1 ff355c484600 PUSH dword ptr [DATA:$Module] ;HINSTANCE hInstance for LoadStringA
CODE:004116f7 e8053f0400 CALL USER32.DLL::LoadStringA ;int LoadStringA(HINSTANCE hInstance,...
CODE:004116fc 5d POP EBP
CODE:004116fd c3 RET
CODE:004116fe 00 ?? 00h
CODE:004116ff 00 ?? 00h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00411700(int param_1)
;param_1 int EAX
;XREF[3]: 00411bb0(c),00411ebc(c),004121d0(*)
CODE:00411700 c1e009 SHL param_1,0x9
CODE:00411703 03f8 ADD EDI,param_1
CODE:00411705 c3 RET
LAB_00411706: ;XREF[1]: 004121da(*)
CODE:00411706 c1e009 SHL EAX,0x9
CODE:00411709 03f0 ADD ESI,EAX
CODE:0041170b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_0041170c(short param_1)
;param_1 short AX
;XREF[2]: 00411d43(c),00412193(*)
CODE:0041170c 66f7d8 NEG param_1
CODE:0041170f 66057f01 ADD param_1,0x17f
CODE:00411713 0fb7c0 MOVZX param_1,param_1
CODE:00411716 c1e009 SHL param_1,0x9
CODE:00411719 03f8 ADD EDI,param_1
CODE:0041171b c3 RET
LAB_0041171c: ;XREF[1]: 0041219d(*)
CODE:0041171c 66f7d8 NEG AX
CODE:0041171f 66057f01 ADD AX,0x17f
CODE:00411723 0fb7c0 MOVZX EAX,AX
CODE:00411726 c1e009 SHL EAX,0x9
CODE:00411729 03f0 ADD ESI,EAX
CODE:0041172b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041172c(undefined4 param_1, undefined4 param_2)
;param_1 undefined4 4 ;XREF[1]: 00411736(R)
;param_2 undefined4 8 ;XREF[1]: 00411748(R)
;XREF[3]: 00413679(c),00415ae5(c),0043b935(c)
CODE:0041172c c8000000 ENTER 0x0,0x0
CODE:00411730 50 PUSH EAX
CODE:00411731 53 PUSH EBX
CODE:00411732 51 PUSH ECX
CODE:00411733 52 PUSH EDX
CODE:00411734 56 PUSH ESI
CODE:00411735 57 PUSH EDI
CODE:00411736 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
CODE:00411739 0fb74602 MOVZX EAX,word ptr [ESI + 0x2]
CODE:0041173d 0fb71e MOVZX EBX,word ptr [ESI]
CODE:00411740 0fb74e04 MOVZX ECX,word ptr [ESI + 0x4]
CODE:00411744 668b5606 MOV DX,word ptr [ESI + 0x6]
CODE:00411748 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
CODE:0041174b 66891f MOV word ptr [EDI],BX
CODE:0041174e 66894702 MOV word ptr [EDI + 0x2],AX
CODE:00411752 66894f04 MOV word ptr [EDI + 0x4],CX
CODE:00411756 66895706 MOV word ptr [EDI + 0x6],DX
CODE:0041175a 83c708 ADD EDI,0x8
CODE:0041175d ff25e4014600 JMP dword ptr [DATA:DAT_004601e4]
LAB_00411763: ;XREF[1]: 00412216(*)
CODE:00411763 66ff35180... PUSH word ptr [DATA:DAT_00460218]
CODE:0041176a 53 PUSH EBX
CODE:0041176b 8b1d10024600 MOV EBX,dword ptr [DATA:DAT_00460210]
CODE:00411771 8b35047e4600 MOV ESI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:00411777 ffd3 CALL EBX
CODE:00411779 5b POP EBX
CODE:0041177a 03f3 ADD ESI,EBX
CODE:0041177c 665b POP BX
CODE:0041177e 0fbfdb MOVSX EBX,BX
LAB_00411781: ;XREF[1]: 00411795(j)
CODE:00411781 51 PUSH ECX
CODE:00411782 56 PUSH ESI
CODE:00411783 d1e9 SHR ECX,0x1
CODE:00411785 f366a5 MOVSW.REP ES:EDI,ESI
CODE:00411788 7305 JNC LAB_0041178f
CODE:0041178a 90 NOP
CODE:0041178b 90 NOP
CODE:0041178c 90 NOP
CODE:0041178d 90 NOP
CODE:0041178e a4 MOVSB ES:EDI,ESI
LAB_0041178f: ;XREF[1]: 00411788(j)
CODE:0041178f 5e POP ESI
CODE:00411790 03f3 ADD ESI,EBX
CODE:00411792 59 POP ECX
CODE:00411793 664a DEC DX
CODE:00411795 75ea JNZ LAB_00411781
CODE:00411797 5f POP EDI
CODE:00411798 5e POP ESI
CODE:00411799 5a POP EDX
CODE:0041179a 59 POP ECX
CODE:0041179b 5b POP EBX
CODE:0041179c 58 POP EAX
CODE:0041179d c9 LEAVE
CODE:0041179e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041179f(void)
;XREF[3]: 00413402(c),00415af7(c),0043b573(c)
CODE:0041179f c8000000 ENTER 0x0,0x0
CODE:004117a3 50 PUSH EAX
CODE:004117a4 53 PUSH EBX
CODE:004117a5 51 PUSH ECX
CODE:004117a6 52 PUSH EDX
CODE:004117a7 56 PUSH ESI
CODE:004117a8 57 PUSH EDI
CODE:004117a9 8b3d047e4600 MOV EDI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:004117af ff25e8014600 JMP dword ptr [DATA:DAT_004601e8]
LAB_004117b5: ;XREF[1]: 004121a7(*)
CODE:004117b5 8b7508 MOV ESI,dword ptr [EBP + 0x8]
CODE:004117b8 0fb74602 MOVZX EAX,word ptr [ESI + 0x2]
CODE:004117bc 0fb71e MOVZX EBX,word ptr [ESI]
CODE:004117bf 0fb74e04 MOVZX ECX,word ptr [ESI + 0x4]
CODE:004117c3 668b5606 MOV DX,word ptr [ESI + 0x6]
CODE:004117c7 83c608 ADD ESI,0x8
CODE:004117ca f7d8 NEG EAX
CODE:004117cc 057f010000 ADD EAX,0x17f
CODE:004117d1 c1e009 SHL EAX,0x9
CODE:004117d4 03f8 ADD EDI,EAX
CODE:004117d6 03fb ADD EDI,EBX
LAB_004117d8: ;XREF[1]: 004117f0(j)
CODE:004117d8 51 PUSH ECX
CODE:004117d9 57 PUSH EDI
CODE:004117da d1e9 SHR ECX,0x1
CODE:004117dc f366a5 MOVSW.REP ES:EDI,ESI
CODE:004117df 7305 JNC LAB_004117e6
CODE:004117e1 90 NOP
CODE:004117e2 90 NOP
CODE:004117e3 90 NOP
CODE:004117e4 90 NOP
CODE:004117e5 a4 MOVSB ES:EDI,ESI
LAB_004117e6: ;XREF[1]: 004117df(j)
CODE:004117e6 5f POP EDI
CODE:004117e7 81c700feffff ADD EDI,0xfffffe00
CODE:004117ed 59 POP ECX
CODE:004117ee 664a DEC DX
CODE:004117f0 75e6 JNZ LAB_004117d8
CODE:004117f2 5f POP EDI
CODE:004117f3 5e POP ESI
CODE:004117f4 5a POP EDX
CODE:004117f5 59 POP ECX
CODE:004117f6 5b POP EBX
CODE:004117f7 58 POP EAX
CODE:004117f8 c9 LEAVE
CODE:004117f9 c3 RET
LAB_004117fa: ;XREF[1]: 004121e4(*)
CODE:004117fa 8b7508 MOV ESI,dword ptr [EBP + 0x8]
CODE:004117fd 0fb74602 MOVZX EAX,word ptr [ESI + 0x2]
CODE:00411801 0fb71e MOVZX EBX,word ptr [ESI]
CODE:00411804 0fb74e04 MOVZX ECX,word ptr [ESI + 0x4]
CODE:00411808 668b5606 MOV DX,word ptr [ESI + 0x6]
CODE:0041180c 83c608 ADD ESI,0x8
CODE:0041180f c1e009 SHL EAX,0x9
CODE:00411812 03f8 ADD EDI,EAX
CODE:00411814 03fb ADD EDI,EBX
LAB_00411816: ;XREF[1]: 0041182e(j)
CODE:00411816 51 PUSH ECX
CODE:00411817 57 PUSH EDI
CODE:00411818 d1e9 SHR ECX,0x1
CODE:0041181a f366a5 MOVSW.REP ES:EDI,ESI
CODE:0041181d 7305 JNC LAB_00411824
CODE:0041181f 90 NOP
CODE:00411820 90 NOP
CODE:00411821 90 NOP
CODE:00411822 90 NOP
CODE:00411823 a4 MOVSB ES:EDI,ESI
LAB_00411824: ;XREF[1]: 0041181d(j)
CODE:00411824 5f POP EDI
CODE:00411825 81c700020000 ADD EDI,0x200
CODE:0041182b 59 POP ECX
CODE:0041182c 664a DEC DX
CODE:0041182e 75e6 JNZ LAB_00411816
CODE:00411830 5f POP EDI
CODE:00411831 5e POP ESI
CODE:00411832 5a POP EDX
CODE:00411833 59 POP ECX
CODE:00411834 5b POP EBX
CODE:00411835 58 POP EAX
CODE:00411836 c9 LEAVE
CODE:00411837 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411838(void)
;XREF[1]: 00431acd(c)
CODE:00411838 c8000000 ENTER 0x0,0x0
CODE:0041183c 50 PUSH EAX
CODE:0041183d 53 PUSH EBX
CODE:0041183e 51 PUSH ECX
CODE:0041183f 52 PUSH EDX
CODE:00411840 56 PUSH ESI
CODE:00411841 57 PUSH EDI
CODE:00411842 ff25ec014600 JMP dword ptr [DATA:DAT_004601ec]
LAB_00411848: ;XREF[1]: 004121f8(*)
CODE:00411848 0fb7450c MOVZX EAX,word ptr [EBP + 0xc]
CODE:0041184c 8b3d047e4600 MOV EDI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:00411852 ff1514024600 CALL dword ptr [DATA:DAT_00460214]
CODE:00411858 0fb74508 MOVZX EAX,word ptr [EBP + 0x8]
CODE:0041185c 03f8 ADD EDI,EAX
CODE:0041185e 668b4514 MOV AX,word ptr [EBP + 0x14]
CODE:00411862 8ae0 MOV AH,AL
CODE:00411864 0fb74d10 MOVZX ECX,word ptr [EBP + 0x10]
CODE:00411868 d1e9 SHR ECX,0x1
CODE:0041186a f366ab STOSW.REP ES:EDI
CODE:0041186d 7505 JNZ LAB_00411874
CODE:0041186f 90 NOP
CODE:00411870 90 NOP
CODE:00411871 90 NOP
CODE:00411872 90 NOP
CODE:00411873 aa STOSB ES:EDI
LAB_00411874: ;XREF[1]: 0041186d(j)
CODE:00411874 5f POP EDI
CODE:00411875 5e POP ESI
CODE:00411876 5a POP EDX
CODE:00411877 59 POP ECX
CODE:00411878 5b POP EBX
CODE:00411879 58 POP EAX
CODE:0041187a c9 LEAVE
CODE:0041187b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041187c(void)
;XREF[1]: 00431b05(c)
CODE:0041187c c8000000 ENTER 0x0,0x0
CODE:00411880 50 PUSH EAX
CODE:00411881 53 PUSH EBX
CODE:00411882 51 PUSH ECX
CODE:00411883 52 PUSH EDX
CODE:00411884 56 PUSH ESI
CODE:00411885 57 PUSH EDI
CODE:00411886 ff25f0014600 JMP dword ptr [DATA:DAT_004601f0]
LAB_0041188c: ;XREF[1]: 00412202(*)
CODE:0041188c 0fb7450c MOVZX EAX,word ptr [EBP + 0xc]
CODE:00411890 8b3d047e4600 MOV EDI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:00411896 ff1514024600 CALL dword ptr [DATA:DAT_00460214]
CODE:0041189c 0fb74508 MOVZX EAX,word ptr [EBP + 0x8]
CODE:004118a0 03f8 ADD EDI,EAX
CODE:004118a2 668b4514 MOV AX,word ptr [EBP + 0x14]
CODE:004118a6 0fb74d10 MOVZX ECX,word ptr [EBP + 0x10]
CODE:004118aa 0fbf1d180... MOVSX EBX,word ptr [DATA:DAT_00460218]
LAB_004118b1: ;XREF[1]: 004118b5(j)
CODE:004118b1 8807 MOV byte ptr [EDI],AL
CODE:004118b3 03fb ADD EDI,EBX
CODE:004118b5 e2fa LOOP LAB_004118b1
CODE:004118b7 5f POP EDI
CODE:004118b8 5e POP ESI
CODE:004118b9 5a POP EDX
CODE:004118ba 59 POP ECX
CODE:004118bb 5b POP EBX
CODE:004118bc 58 POP EAX
CODE:004118bd c9 LEAVE
CODE:004118be c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004118bf(void)
;XREF[1]: 0043159a(c)
CODE:004118bf c8000000 ENTER 0x0,0x0
CODE:004118c3 50 PUSH EAX
CODE:004118c4 53 PUSH EBX
CODE:004118c5 51 PUSH ECX
CODE:004118c6 52 PUSH EDX
CODE:004118c7 56 PUSH ESI
CODE:004118c8 57 PUSH EDI
CODE:004118c9 ff25f4014600 JMP dword ptr [DATA:DAT_004601f4]
LAB_004118cf: ;XREF[1]: 0041220c(*)
CODE:004118cf 0fb7450c MOVZX EAX,word ptr [EBP + 0xc]
CODE:004118d3 8b3d047e4600 MOV EDI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:004118d9 ff1514024600 CALL dword ptr [DATA:DAT_00460214]
CODE:004118df 0fb74508 MOVZX EAX,word ptr [EBP + 0x8]
CODE:004118e3 03f8 ADD EDI,EAX
CODE:004118e5 668b4510 MOV AX,word ptr [EBP + 0x10]
CODE:004118e9 268807 MOV byte ptr ES:[EDI],AL
CODE:004118ec 5f POP EDI
CODE:004118ed 5e POP ESI
CODE:004118ee 5a POP EDX
CODE:004118ef 59 POP ECX
CODE:004118f0 5b POP EBX
CODE:004118f1 58 POP EAX
CODE:004118f2 c9 LEAVE
CODE:004118f3 c3 RET
CODE:004118f4 c8 ?? C8h
CODE:004118f5 00 ?? 00h
CODE:004118f6 00 ?? 00h
CODE:004118f7 00 ?? 00h
CODE:004118f8 53 ?? 53h S
CODE:004118f9 51 ?? 51h Q
CODE:004118fa 52 ?? 52h R
CODE:004118fb 56 ?? 56h V
CODE:004118fc 57 ?? 57h W
CODE:004118fd 0f ?? 0Fh
CODE:004118fe b7 ?? B7h
CODE:004118ff 45 ?? 45h E
CODE:00411900 0c ?? 0Ch
CODE:00411901 8b ?? 8Bh
CODE:00411902 3d ?? 3Dh =
CODE:00411903 04 ?? 04h ;? -> 00467e04
CODE:00411904 7e ?? 7Eh ~
CODE:00411905 46 ?? 46h F
CODE:00411906 00 ?? 00h
CODE:00411907 ff ?? FFh
CODE:00411908 15 ?? 15h
CODE:00411909 14 ?? 14h ;? -> 00460214
CODE:0041190a 02 ?? 02h
CODE:0041190b 46 ?? 46h F
CODE:0041190c 00 ?? 00h
CODE:0041190d 0f ?? 0Fh
CODE:0041190e b7 ?? B7h
CODE:0041190f 45 ?? 45h E
CODE:00411910 08 ?? 08h
CODE:00411911 03 ?? 03h
CODE:00411912 f8 ?? F8h
CODE:00411913 26 ?? 26h &
CODE:00411914 8a ?? 8Ah
CODE:00411915 07 ?? 07h
CODE:00411916 32 ?? 32h 2
CODE:00411917 e4 ?? E4h
CODE:00411918 5f ?? 5Fh _
CODE:00411919 5e ?? 5Eh ^
CODE:0041191a 5a ?? 5Ah Z
CODE:0041191b 59 ?? 59h Y
CODE:0041191c 5b ?? 5Bh [
CODE:0041191d c9 ?? C9h
CODE:0041191e c3 ?? C3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041191f(undefined4 param_1, uint param_2, undefined4 param_3, int param_4)
;param_1 undefined4 EAX
;param_2 uint EDX
;param_3 undefined4 ECX
;param_4 int 4 ;XREF[1]: 0041192d(R)
;XREF[2]: 00413db9(c),00413e10(c)
CODE:0041191f c8000000 ENTER 0x0,0x0
CODE:00411923 50 PUSH param_1
CODE:00411924 53 PUSH EBX
CODE:00411925 51 PUSH param_3
CODE:00411926 52 PUSH param_2
CODE:00411927 56 PUSH ESI
CODE:00411928 57 PUSH EDI
CODE:00411929 fc CLD
CODE:0041192a 8b5d0c MOV EBX,dword ptr [EBP + Stack[0x8]+0x4]
CODE:0041192d 8b7d08 MOV EDI,dword ptr [EBP + param_4+0x4]
CODE:00411930 668b5704 MOV param_2,word ptr [EDI + 0x4]
CODE:00411934 668b7702 MOV SI,word ptr [EDI + 0x2]
CODE:00411938 ff2508024600 JMP dword ptr [DATA:DAT_00460208]
LAB_0041193e: ;XREF[1]: 0041223e(*)
CODE:0041193e 83c706 ADD EDI,0x6
CODE:00411941 33c9 XOR ECX,ECX
LAB_00411943: ;XREF[2]: 0041196e(j),00411987(j)
CODE:00411943 6656 PUSH SI
CODE:00411945 33c0 XOR EAX,EAX
LAB_00411947: ;XREF[2]: 00411968(j),00411981(j)
CODE:00411947 8a07 MOV AL,byte ptr [EDI]
CODE:00411949 47 INC EDI
CODE:0041194a 0ac0 OR AL,AL
CODE:0041194c 742d JZ LAB_0041197b
CODE:0041194e 90 NOP
CODE:0041194f 90 NOP
CODE:00411950 90 NOP
CODE:00411951 90 NOP
CODE:00411952 3cff CMP AL,0xff
CODE:00411954 741c JZ LAB_00411972
CODE:00411956 90 NOP
CODE:00411957 90 NOP
CODE:00411958 90 NOP
CODE:00411959 90 NOP
CODE:0041195a 8ac8 MOV CL,AL
CODE:0041195c 662bf1 SUB SI,CX
LAB_0041195f: ;XREF[1]: 00411963(j)
CODE:0041195f 8a07 MOV AL,byte ptr [EDI]
CODE:00411961 d7 XLAT EBX
CODE:00411962 aa STOSB ES:EDI
CODE:00411963 e2fa LOOP LAB_0041195f
CODE:00411965 660bf6 OR SI,SI
CODE:00411968 75dd JNZ LAB_00411947
CODE:0041196a 665e POP SI
CODE:0041196c 664a DEC DX
CODE:0041196e 75d3 JNZ LAB_00411943
CODE:00411970 eb17 JMP LAB_00411989
LAB_00411972: ;XREF[1]: 00411954(j)
CODE:00411972 8a07 MOV AL,byte ptr [EDI]
CODE:00411974 d7 XLAT EBX
CODE:00411975 aa STOSB ES:EDI
CODE:00411976 8a07 MOV AL,byte ptr [EDI]
CODE:00411978 47 INC EDI
CODE:00411979 eb03 JMP LAB_0041197e
LAB_0041197b: ;XREF[1]: 0041194c(j)
CODE:0041197b 8a07 MOV AL,byte ptr [EDI]
CODE:0041197d 47 INC EDI
LAB_0041197e: ;XREF[1]: 00411979(j)
CODE:0041197e 662bf0 SUB SI,AX
CODE:00411981 75c4 JNZ LAB_00411947
CODE:00411983 665e POP SI
CODE:00411985 664a DEC DX
CODE:00411987 75ba JNZ LAB_00411943
LAB_00411989: ;XREF[1]: 00411970(j)
CODE:00411989 5f POP EDI
CODE:0041198a 5e POP ESI
CODE:0041198b 5a POP EDX
CODE:0041198c 59 POP ECX
CODE:0041198d 5b POP EBX
CODE:0041198e 58 POP EAX
CODE:0041198f c9 LEAVE
CODE:00411990 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411991(void)
;XREF[1]: 00431b42(c)
CODE:00411991 c8000000 ENTER 0x0,0x0
CODE:00411995 50 PUSH EAX
CODE:00411996 53 PUSH EBX
CODE:00411997 51 PUSH ECX
CODE:00411998 52 PUSH EDX
CODE:00411999 56 PUSH ESI
CODE:0041199a 57 PUSH EDI
CODE:0041199b ff25fc014600 JMP dword ptr [DATA:DAT_004601fc]
LAB_004119a1: ;XREF[1]: 004121ee(*)
CODE:004119a1 0fb7450c MOVZX EAX,word ptr [EBP + 0xc]
CODE:004119a5 8b3d047e4600 MOV EDI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:004119ab ff1514024600 CALL dword ptr [DATA:DAT_00460214]
CODE:004119b1 0fb74508 MOVZX EAX,word ptr [EBP + 0x8]
CODE:004119b5 03f8 ADD EDI,EAX
CODE:004119b7 0fb74d14 MOVZX ECX,word ptr [EBP + 0x14]
CODE:004119bb 668b4518 MOV AX,word ptr [EBP + 0x18]
CODE:004119bf 668bd1 MOV DX,CX
CODE:004119c2 0fb74d10 MOVZX ECX,word ptr [EBP + 0x10]
CODE:004119c6 668b1d180... MOV BX,word ptr [DATA:DAT_00460218]
CODE:004119cd 0fbfdb MOVSX EBX,BX
LAB_004119d0: ;XREF[1]: 004119da(j)
CODE:004119d0 51 PUSH ECX
CODE:004119d1 57 PUSH EDI
CODE:004119d2 f3aa STOSB.REP ES:EDI
CODE:004119d4 5f POP EDI
CODE:004119d5 03fb ADD EDI,EBX
CODE:004119d7 59 POP ECX
CODE:004119d8 664a DEC DX
CODE:004119da 75f4 JNZ LAB_004119d0
CODE:004119dc 5f POP EDI
CODE:004119dd 5e POP ESI
CODE:004119de 5a POP EDX
CODE:004119df 59 POP ECX
CODE:004119e0 5b POP EBX
CODE:004119e1 58 POP EAX
CODE:004119e2 c9 LEAVE
CODE:004119e3 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004119e4(void)
;XREF[5]: 0041265e(c),004126cd(c),00413c56(c),00413c9c(c),
; 0041895d(c)
CODE:004119e4 c8100000 ENTER 0x10,0x0
CODE:004119e8 50 PUSH EAX
CODE:004119e9 53 PUSH EBX
CODE:004119ea 51 PUSH ECX
CODE:004119eb 52 PUSH EDX
CODE:004119ec 56 PUSH ESI
CODE:004119ed 57 PUSH EDI
CODE:004119ee 6655 PUSH BP
CODE:004119f0 ff25dc014600 JMP dword ptr [DATA:DAT_004601dc]
LAB_004119f6: ;XREF[1]: 00411a2f(j)
CODE:004119f6 665d POP BP
CODE:004119f8 5f POP EDI
CODE:004119f9 5e POP ESI
CODE:004119fa 5a POP EDX
CODE:004119fb 59 POP ECX
CODE:004119fc 5b POP EBX
CODE:004119fd 58 POP EAX
CODE:004119fe c9 LEAVE
CODE:004119ff c3 RET
LAB_00411a00: ;XREF[1]: 0041217f(*)
CODE:00411a00 fc CLD
CODE:00411a01 66a1be7d4600 MOV AX,[DATA:DAT_00467dbe] ;= ??
CODE:00411a07 668945fc MOV word ptr [EBP + -0x4],AX
CODE:00411a0b 66a1c07d4600 MOV AX,[DATA:DAT_00467dc0] ;= ??
CODE:00411a11 668945f8 MOV word ptr [EBP + -0x8],AX
CODE:00411a15 668b450c MOV AX,word ptr [EBP + 0xc]
CODE:00411a19 668945f4 MOV word ptr [EBP + -0xc],AX
CODE:00411a1d 663b45fc CMP AX,word ptr [EBP + -0x4]
CODE:00411a21 7d08 JGE LAB_00411a2b
CODE:00411a23 90 NOP
CODE:00411a24 90 NOP
CODE:00411a25 90 NOP
CODE:00411a26 90 NOP
CODE:00411a27 668b45fc MOV AX,word ptr [EBP + -0x4]
LAB_00411a2b: ;XREF[1]: 00411a21(j)
CODE:00411a2b 663b45f8 CMP AX,word ptr [EBP + -0x8]
CODE:00411a2f 7fc5 JG LAB_004119f6
CODE:00411a31 0fb7c0 MOVZX EAX,AX
CODE:00411a34 8b3d047e4600 MOV EDI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:00411a3a ff1514024600 CALL dword ptr [DATA:DAT_00460214]
CODE:00411a40 0fb74508 MOVZX EAX,word ptr [EBP + 0x8]
CODE:00411a44 03f8 ADD EDI,EAX
CODE:00411a46 8b7510 MOV ESI,dword ptr [EBP + 0x10]
CODE:00411a49 83c602 ADD ESI,0x2
CODE:00411a4c 668b1e MOV BX,word ptr [ESI]
CODE:00411a4f 83c602 ADD ESI,0x2
CODE:00411a52 668b16 MOV DX,word ptr [ESI]
CODE:00411a55 83c602 ADD ESI,0x2
CODE:00411a58 33c9 XOR ECX,ECX
LAB_00411a5a: ;XREF[2]: 00411a8f(j),00411aa5(j)
CODE:00411a5a 668b45fc MOV AX,word ptr [EBP + -0x4]
CODE:00411a5e 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411a62 7e48 JLE LAB_00411aac
CODE:00411a64 90 NOP
CODE:00411a65 90 NOP
CODE:00411a66 90 NOP
CODE:00411a67 90 NOP
CODE:00411a68 6653 PUSH BX
CODE:00411a6a 33c0 XOR EAX,EAX
LAB_00411a6c: ;XREF[2]: 00411a85(j),00411a9b(j)
CODE:00411a6c ac LODSB ESI
CODE:00411a6d 0ac0 OR AL,AL
CODE:00411a6f 7426 JZ LAB_00411a97
CODE:00411a71 90 NOP
CODE:00411a72 90 NOP
CODE:00411a73 90 NOP
CODE:00411a74 90 NOP
CODE:00411a75 3cff CMP AL,0xff
CODE:00411a77 741d JZ LAB_00411a96
CODE:00411a79 90 NOP
CODE:00411a7a 90 NOP
CODE:00411a7b 90 NOP
CODE:00411a7c 90 NOP
CODE:00411a7d 662bd8 SUB BX,AX
CODE:00411a80 03f0 ADD ESI,EAX
CODE:00411a82 660bdb OR BX,BX
CODE:00411a85 75e5 JNZ LAB_00411a6c
CODE:00411a87 665b POP BX
CODE:00411a89 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411a8d 664a DEC DX
CODE:00411a8f 75c9 JNZ LAB_00411a5a
CODE:00411a91 e9d6000000 JMP LAB_00411b6c
LAB_00411a96: ;XREF[1]: 00411a77(j)
CODE:00411a96 46 INC ESI
LAB_00411a97: ;XREF[1]: 00411a6f(j)
CODE:00411a97 ac LODSB ESI
CODE:00411a98 662bd8 SUB BX,AX
CODE:00411a9b 75cf JNZ LAB_00411a6c
CODE:00411a9d 665b POP BX
CODE:00411a9f 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411aa3 664a DEC DX
CODE:00411aa5 75b3 JNZ LAB_00411a5a
CODE:00411aa7 e9c0000000 JMP LAB_00411b6c
LAB_00411aac: ;XREF[4]: 00411a62(j),00411af5(j),00411b35(j),00411b66(j)
CODE:00411aac 57 PUSH EDI
CODE:00411aad 6653 PUSH BX
CODE:00411aaf 33c0 XOR EAX,EAX
LAB_00411ab1: ;XREF[3]: 00411ad6(j),00411b16(j),00411b43(j)
CODE:00411ab1 ac LODSB ESI
CODE:00411ab2 0ac0 OR AL,AL
CODE:00411ab4 0f8483000000 JZ LAB_00411b3d
CODE:00411aba 3cff CMP AL,0xff
CODE:00411abc 743b JZ LAB_00411af9
CODE:00411abe 90 NOP
CODE:00411abf 90 NOP
CODE:00411ac0 90 NOP
CODE:00411ac1 90 NOP
CODE:00411ac2 8ac8 MOV CL,AL
CODE:00411ac4 662bd9 SUB BX,CX
CODE:00411ac7 d0d9 RCR CL,0x1
CODE:00411ac9 f366a5 MOVSW.REP ES:EDI,ESI
CODE:00411acc 7305 JNC LAB_00411ad3
CODE:00411ace 90 NOP
CODE:00411acf 90 NOP
CODE:00411ad0 90 NOP
CODE:00411ad1 90 NOP
CODE:00411ad2 a4 MOVSB ES:EDI,ESI
LAB_00411ad3: ;XREF[1]: 00411acc(j)
CODE:00411ad3 660bdb OR BX,BX
CODE:00411ad6 75d9 JNZ LAB_00411ab1
CODE:00411ad8 665b POP BX
CODE:00411ada 5f POP EDI
CODE:00411adb 81ef00020000 SUB EDI,0x200
CODE:00411ae1 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411ae5 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411ae9 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411aed 7c7d JL LAB_00411b6c
CODE:00411aef 90 NOP
CODE:00411af0 90 NOP
CODE:00411af1 90 NOP
CODE:00411af2 90 NOP
CODE:00411af3 664a DEC DX
CODE:00411af5 75b5 JNZ LAB_00411aac
CODE:00411af7 eb73 JMP LAB_00411b6c
LAB_00411af9: ;XREF[1]: 00411abc(j)
CODE:00411af9 ac LODSB ESI
CODE:00411afa 8ae0 MOV AH,AL
CODE:00411afc ac LODSB ESI
CODE:00411afd 8ac8 MOV CL,AL
CODE:00411aff 8ac4 MOV AL,AH
CODE:00411b01 662bd9 SUB BX,CX
CODE:00411b04 d0d9 RCR CL,0x1
CODE:00411b06 f366ab STOSW.REP ES:EDI
CODE:00411b09 7305 JNC LAB_00411b10
CODE:00411b0b 90 NOP
CODE:00411b0c 90 NOP
CODE:00411b0d 90 NOP
CODE:00411b0e 90 NOP
CODE:00411b0f aa STOSB ES:EDI
LAB_00411b10: ;XREF[1]: 00411b09(j)
CODE:00411b10 6633c0 XOR AX,AX
CODE:00411b13 660bdb OR BX,BX
CODE:00411b16 7599 JNZ LAB_00411ab1
CODE:00411b18 665b POP BX
CODE:00411b1a 5f POP EDI
CODE:00411b1b 81ef00020000 SUB EDI,0x200
CODE:00411b21 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411b25 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411b29 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411b2d 7c3d JL LAB_00411b6c
CODE:00411b2f 90 NOP
CODE:00411b30 90 NOP
CODE:00411b31 90 NOP
CODE:00411b32 90 NOP
CODE:00411b33 664a DEC DX
CODE:00411b35 0f8571ffffff JNZ LAB_00411aac
CODE:00411b3b eb2f JMP LAB_00411b6c
LAB_00411b3d: ;XREF[1]: 00411ab4(j)
CODE:00411b3d ac LODSB ESI
CODE:00411b3e 03f8 ADD EDI,EAX
CODE:00411b40 662bd8 SUB BX,AX
CODE:00411b43 0f8568ffffff JNZ LAB_00411ab1
CODE:00411b49 665b POP BX
CODE:00411b4b 5f POP EDI
CODE:00411b4c 81ef00020000 SUB EDI,0x200
CODE:00411b52 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411b56 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411b5a 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411b5e 7c0c JL LAB_00411b6c
CODE:00411b60 90 NOP
CODE:00411b61 90 NOP
CODE:00411b62 90 NOP
CODE:00411b63 90 NOP
CODE:00411b64 664a DEC DX
CODE:00411b66 0f8540ffffff JNZ LAB_00411aac
LAB_00411b6c: ;XREF[8]: 00411a91(j),00411aa7(j),00411aed(j),00411af7(j),
; 00411b2d(j),00411b3b(j),00411b5e(j),00411ba5(j)
CODE:00411b6c 665d POP BP
CODE:00411b6e 5f POP EDI
CODE:00411b6f 5e POP ESI
CODE:00411b70 5a POP EDX
CODE:00411b71 59 POP ECX
CODE:00411b72 5b POP EBX
CODE:00411b73 58 POP EAX
CODE:00411b74 c9 LEAVE
CODE:00411b75 c3 RET
LAB_00411b76: ;XREF[1]: 004121bc(*)
CODE:00411b76 fc CLD
CODE:00411b77 66a1be7d4600 MOV AX,[DATA:DAT_00467dbe] ;= ??
CODE:00411b7d 668945fc MOV word ptr [EBP + -0x4],AX
CODE:00411b81 66a1c07d4600 MOV AX,[DATA:DAT_00467dc0] ;= ??
CODE:00411b87 668945f8 MOV word ptr [EBP + -0x8],AX
CODE:00411b8b 668b450c MOV AX,word ptr [EBP + 0xc]
CODE:00411b8f 668945f4 MOV word ptr [EBP + -0xc],AX
CODE:00411b93 663b45fc CMP AX,word ptr [EBP + -0x4]
CODE:00411b97 7d08 JGE LAB_00411ba1
CODE:00411b99 90 NOP
CODE:00411b9a 90 NOP
CODE:00411b9b 90 NOP
CODE:00411b9c 90 NOP
CODE:00411b9d 668b45fc MOV AX,word ptr [EBP + -0x4]
LAB_00411ba1: ;XREF[1]: 00411b97(j)
CODE:00411ba1 663b45f8 CMP AX,word ptr [EBP + -0x8]
CODE:00411ba5 7fc5 JG LAB_00411b6c
CODE:00411ba7 0fb7c0 MOVZX EAX,AX
CODE:00411baa 8b3d047e4600 MOV EDI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:00411bb0 e84bfbffff CALL FUN_00411700 ;int FUN_00411700(int param_1)
CODE:00411bb5 0fb74508 MOVZX EAX,word ptr [EBP + 0x8]
CODE:00411bb9 03f8 ADD EDI,EAX
CODE:00411bbb 8b7510 MOV ESI,dword ptr [EBP + 0x10]
CODE:00411bbe 83c602 ADD ESI,0x2
CODE:00411bc1 668b1e MOV BX,word ptr [ESI]
CODE:00411bc4 83c602 ADD ESI,0x2
CODE:00411bc7 668b16 MOV DX,word ptr [ESI]
CODE:00411bca 83c602 ADD ESI,0x2
CODE:00411bcd 33c9 XOR ECX,ECX
LAB_00411bcf: ;XREF[2]: 00411c04(j),00411c1a(j)
CODE:00411bcf 668b45fc MOV AX,word ptr [EBP + -0x4]
CODE:00411bd3 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411bd7 7e48 JLE LAB_00411c21
CODE:00411bd9 90 NOP
CODE:00411bda 90 NOP
CODE:00411bdb 90 NOP
CODE:00411bdc 90 NOP
CODE:00411bdd 6653 PUSH BX
CODE:00411bdf 33c0 XOR EAX,EAX
LAB_00411be1: ;XREF[2]: 00411bfa(j),00411c10(j)
CODE:00411be1 ac LODSB ESI
CODE:00411be2 0ac0 OR AL,AL
CODE:00411be4 7426 JZ LAB_00411c0c
CODE:00411be6 90 NOP
CODE:00411be7 90 NOP
CODE:00411be8 90 NOP
CODE:00411be9 90 NOP
CODE:00411bea 3cff CMP AL,0xff
CODE:00411bec 741d JZ LAB_00411c0b
CODE:00411bee 90 NOP
CODE:00411bef 90 NOP
CODE:00411bf0 90 NOP
CODE:00411bf1 90 NOP
CODE:00411bf2 662bd8 SUB BX,AX
CODE:00411bf5 03f0 ADD ESI,EAX
CODE:00411bf7 660bdb OR BX,BX
CODE:00411bfa 75e5 JNZ LAB_00411be1
CODE:00411bfc 665b POP BX
CODE:00411bfe 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411c02 664a DEC DX
CODE:00411c04 75c9 JNZ LAB_00411bcf
CODE:00411c06 e9d6000000 JMP LAB_00411ce1
LAB_00411c0b: ;XREF[1]: 00411bec(j)
CODE:00411c0b 46 INC ESI
LAB_00411c0c: ;XREF[1]: 00411be4(j)
CODE:00411c0c ac LODSB ESI
CODE:00411c0d 662bd8 SUB BX,AX
CODE:00411c10 75cf JNZ LAB_00411be1
CODE:00411c12 665b POP BX
CODE:00411c14 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411c18 664a DEC DX
CODE:00411c1a 75b3 JNZ LAB_00411bcf
CODE:00411c1c e9c0000000 JMP LAB_00411ce1
LAB_00411c21: ;XREF[4]: 00411bd7(j),00411c6a(j),00411caa(j),00411cdb(j)
CODE:00411c21 57 PUSH EDI
CODE:00411c22 6653 PUSH BX
CODE:00411c24 33c0 XOR EAX,EAX
LAB_00411c26: ;XREF[3]: 00411c4b(j),00411c8b(j),00411cb8(j)
CODE:00411c26 ac LODSB ESI
CODE:00411c27 0ac0 OR AL,AL
CODE:00411c29 0f8483000000 JZ LAB_00411cb2
CODE:00411c2f 3cff CMP AL,0xff
CODE:00411c31 743b JZ LAB_00411c6e
CODE:00411c33 90 NOP
CODE:00411c34 90 NOP
CODE:00411c35 90 NOP
CODE:00411c36 90 NOP
CODE:00411c37 8ac8 MOV CL,AL
CODE:00411c39 662bd9 SUB BX,CX
CODE:00411c3c d0d9 RCR CL,0x1
CODE:00411c3e f366a5 MOVSW.REP ES:EDI,ESI
CODE:00411c41 7305 JNC LAB_00411c48
CODE:00411c43 90 NOP
CODE:00411c44 90 NOP
CODE:00411c45 90 NOP
CODE:00411c46 90 NOP
CODE:00411c47 a4 MOVSB ES:EDI,ESI
LAB_00411c48: ;XREF[1]: 00411c41(j)
CODE:00411c48 660bdb OR BX,BX
CODE:00411c4b 75d9 JNZ LAB_00411c26
CODE:00411c4d 665b POP BX
CODE:00411c4f 5f POP EDI
CODE:00411c50 81c700020000 ADD EDI,0x200
CODE:00411c56 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411c5a 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411c5e 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411c62 7c7d JL LAB_00411ce1
CODE:00411c64 90 NOP
CODE:00411c65 90 NOP
CODE:00411c66 90 NOP
CODE:00411c67 90 NOP
CODE:00411c68 664a DEC DX
CODE:00411c6a 75b5 JNZ LAB_00411c21
CODE:00411c6c eb73 JMP LAB_00411ce1
LAB_00411c6e: ;XREF[1]: 00411c31(j)
CODE:00411c6e ac LODSB ESI
CODE:00411c6f 8ae0 MOV AH,AL
CODE:00411c71 ac LODSB ESI
CODE:00411c72 8ac8 MOV CL,AL
CODE:00411c74 8ac4 MOV AL,AH
CODE:00411c76 662bd9 SUB BX,CX
CODE:00411c79 d0d9 RCR CL,0x1
CODE:00411c7b f366ab STOSW.REP ES:EDI
CODE:00411c7e 7305 JNC LAB_00411c85
CODE:00411c80 90 NOP
CODE:00411c81 90 NOP
CODE:00411c82 90 NOP
CODE:00411c83 90 NOP
CODE:00411c84 aa STOSB ES:EDI
LAB_00411c85: ;XREF[1]: 00411c7e(j)
CODE:00411c85 6633c0 XOR AX,AX
CODE:00411c88 660bdb OR BX,BX
CODE:00411c8b 7599 JNZ LAB_00411c26
CODE:00411c8d 665b POP BX
CODE:00411c8f 5f POP EDI
CODE:00411c90 81c700020000 ADD EDI,0x200
CODE:00411c96 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411c9a 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411c9e 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411ca2 7c3d JL LAB_00411ce1
CODE:00411ca4 90 NOP
CODE:00411ca5 90 NOP
CODE:00411ca6 90 NOP
CODE:00411ca7 90 NOP
CODE:00411ca8 664a DEC DX
CODE:00411caa 0f8571ffffff JNZ LAB_00411c21
CODE:00411cb0 eb2f JMP LAB_00411ce1
LAB_00411cb2: ;XREF[1]: 00411c29(j)
CODE:00411cb2 ac LODSB ESI
CODE:00411cb3 03f8 ADD EDI,EAX
CODE:00411cb5 662bd8 SUB BX,AX
CODE:00411cb8 0f8568ffffff JNZ LAB_00411c26
CODE:00411cbe 665b POP BX
CODE:00411cc0 5f POP EDI
CODE:00411cc1 81c700020000 ADD EDI,0x200
CODE:00411cc7 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411ccb 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411ccf 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411cd3 7c0c JL LAB_00411ce1
CODE:00411cd5 90 NOP
CODE:00411cd6 90 NOP
CODE:00411cd7 90 NOP
CODE:00411cd8 90 NOP
CODE:00411cd9 664a DEC DX
CODE:00411cdb 0f8540ffffff JNZ LAB_00411c21
LAB_00411ce1: ;XREF[7]: 00411c06(j),00411c1c(j),00411c62(j),00411c6c(j),
; 00411ca2(j),00411cb0(j),00411cd3(j)
CODE:00411ce1 665d POP BP
CODE:00411ce3 5f POP EDI
CODE:00411ce4 5e POP ESI
CODE:00411ce5 5a POP EDX
CODE:00411ce6 59 POP ECX
CODE:00411ce7 5b POP EBX
CODE:00411ce8 58 POP EAX
CODE:00411ce9 c9 LEAVE
CODE:00411cea c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411ceb(void)
;XREF[4]: 00412676(c),004126e5(c),00413c49(c),00413c8f(c)
CODE:00411ceb c8100000 ENTER 0x10,0x0
CODE:00411cef 50 PUSH EAX
CODE:00411cf0 53 PUSH EBX
CODE:00411cf1 51 PUSH ECX
CODE:00411cf2 52 PUSH EDX
CODE:00411cf3 56 PUSH ESI
CODE:00411cf4 57 PUSH EDI
CODE:00411cf5 ff25e0014600 JMP dword ptr [DATA:DAT_004601e0]
LAB_00411cfb: ;XREF[1]: 00411d38(j)
CODE:00411cfb 5f POP EDI
CODE:00411cfc 5e POP ESI
CODE:00411cfd 5a POP EDX
CODE:00411cfe 59 POP ECX
CODE:00411cff 5b POP EBX
CODE:00411d00 58 POP EAX
CODE:00411d01 c9 LEAVE
CODE:00411d02 c3 RET
LAB_00411d03: ;XREF[1]: 00412189(*)
CODE:00411d03 fc CLD
CODE:00411d04 66a1be7d4600 MOV AX,[DATA:DAT_00467dbe] ;= ??
CODE:00411d0a 668945fc MOV word ptr [EBP + -0x4],AX
CODE:00411d0e 66a1c07d4600 MOV AX,[DATA:DAT_00467dc0] ;= ??
CODE:00411d14 668945f8 MOV word ptr [EBP + -0x8],AX
CODE:00411d18 668b450c MOV AX,word ptr [EBP + 0xc]
CODE:00411d1c 668945f4 MOV word ptr [EBP + -0xc],AX
CODE:00411d20 663b45fc CMP AX,word ptr [EBP + -0x4]
CODE:00411d24 7d08 JGE LAB_00411d2e
CODE:00411d26 90 NOP
CODE:00411d27 90 NOP
CODE:00411d28 90 NOP
CODE:00411d29 90 NOP
CODE:00411d2a 668b45fc MOV AX,word ptr [EBP + -0x4]
LAB_00411d2e: ;XREF[1]: 00411d24(j)
CODE:00411d2e 663b45f8 CMP AX,word ptr [EBP + -0x8]
CODE:00411d32 7e06 JLE LAB_00411d3a
CODE:00411d34 90 NOP
CODE:00411d35 90 NOP
CODE:00411d36 90 NOP
CODE:00411d37 90 NOP
CODE:00411d38 ebc1 JMP LAB_00411cfb
LAB_00411d3a: ;XREF[1]: 00411d32(j)
CODE:00411d3a 0fb7c0 MOVZX EAX,AX
CODE:00411d3d 8b3d047e4600 MOV EDI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:00411d43 e8c4f9ffff CALL FUN_0041170c ;int FUN_0041170c(short param_1)
CODE:00411d48 0fb74508 MOVZX EAX,word ptr [EBP + 0x8]
CODE:00411d4c 03f8 ADD EDI,EAX
CODE:00411d4e 8b7510 MOV ESI,dword ptr [EBP + 0x10]
CODE:00411d51 83c602 ADD ESI,0x2
CODE:00411d54 0fb71e MOVZX EBX,word ptr [ESI]
CODE:00411d57 83c602 ADD ESI,0x2
CODE:00411d5a 668b16 MOV DX,word ptr [ESI]
CODE:00411d5d 83c602 ADD ESI,0x2
CODE:00411d60 33c9 XOR ECX,ECX
LAB_00411d62: ;XREF[2]: 00411d95(j),00411daa(j)
CODE:00411d62 668b45fc MOV AX,word ptr [EBP + -0x4]
CODE:00411d66 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411d6a 7e45 JLE LAB_00411db1
CODE:00411d6c 90 NOP
CODE:00411d6d 90 NOP
CODE:00411d6e 90 NOP
CODE:00411d6f 90 NOP
CODE:00411d70 53 PUSH EBX
CODE:00411d71 33c0 XOR EAX,EAX
LAB_00411d73: ;XREF[2]: 00411d8c(j),00411da1(j)
CODE:00411d73 ac LODSB ESI
CODE:00411d74 0ac0 OR AL,AL
CODE:00411d76 7425 JZ LAB_00411d9d
CODE:00411d78 90 NOP
CODE:00411d79 90 NOP
CODE:00411d7a 90 NOP
CODE:00411d7b 90 NOP
CODE:00411d7c 3cff CMP AL,0xff
CODE:00411d7e 741c JZ LAB_00411d9c
CODE:00411d80 90 NOP
CODE:00411d81 90 NOP
CODE:00411d82 90 NOP
CODE:00411d83 90 NOP
CODE:00411d84 662bd8 SUB BX,AX
CODE:00411d87 03f0 ADD ESI,EAX
CODE:00411d89 660bdb OR BX,BX
CODE:00411d8c 75e5 JNZ LAB_00411d73
CODE:00411d8e 5b POP EBX
CODE:00411d8f 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411d93 664a DEC DX
CODE:00411d95 75cb JNZ LAB_00411d62
CODE:00411d97 e9d8000000 JMP LAB_00411e74
LAB_00411d9c: ;XREF[1]: 00411d7e(j)
CODE:00411d9c 46 INC ESI
LAB_00411d9d: ;XREF[1]: 00411d76(j)
CODE:00411d9d ac LODSB ESI
CODE:00411d9e 662bd8 SUB BX,AX
CODE:00411da1 75d0 JNZ LAB_00411d73
CODE:00411da3 5b POP EBX
CODE:00411da4 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411da8 664a DEC DX
CODE:00411daa 75b6 JNZ LAB_00411d62
CODE:00411dac e9c3000000 JMP LAB_00411e74
LAB_00411db1: ;XREF[1]: 00411d6a(j)
CODE:00411db1 03fb ADD EDI,EBX
CODE:00411db3 4f DEC EDI
CODE:00411db4 33c0 XOR EAX,EAX
CODE:00411db6 33c9 XOR ECX,ECX
LAB_00411db8: ;XREF[3]: 00411dfd(j),00411e3a(j),00411e6e(j)
CODE:00411db8 57 PUSH EDI
CODE:00411db9 6653 PUSH BX
LAB_00411dbb: ;XREF[3]: 00411ddb(j),00411e18(j),00411e48(j)
CODE:00411dbb ac LODSB ESI
CODE:00411dbc 0ac0 OR AL,AL
CODE:00411dbe 0f847e000000 JZ LAB_00411e42
CODE:00411dc4 3cff CMP AL,0xff
CODE:00411dc6 7439 JZ LAB_00411e01
CODE:00411dc8 90 NOP
CODE:00411dc9 90 NOP
CODE:00411dca 90 NOP
CODE:00411dcb 90 NOP
CODE:00411dcc 8ac8 MOV CL,AL
CODE:00411dce 662bd9 SUB BX,CX
LAB_00411dd1: ;XREF[1]: 00411dd6(j)
CODE:00411dd1 ac LODSB ESI
CODE:00411dd2 268807 MOV byte ptr ES:[EDI],AL
CODE:00411dd5 4f DEC EDI
CODE:00411dd6 e2f9 LOOP LAB_00411dd1
CODE:00411dd8 660bdb OR BX,BX
CODE:00411ddb 75de JNZ LAB_00411dbb
CODE:00411ddd 665b POP BX
CODE:00411ddf 5f POP EDI
CODE:00411de0 81ef00020000 SUB EDI,0x200
CODE:00411de6 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411dea 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411dee 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411df2 0f8c7c000000 JL LAB_00411e74
CODE:00411df8 6633c0 XOR AX,AX
CODE:00411dfb 664a DEC DX
CODE:00411dfd 75b9 JNZ LAB_00411db8
CODE:00411dff eb73 JMP LAB_00411e74
LAB_00411e01: ;XREF[1]: 00411dc6(j)
CODE:00411e01 ac LODSB ESI
CODE:00411e02 8ae0 MOV AH,AL
CODE:00411e04 ac LODSB ESI
CODE:00411e05 8ac8 MOV CL,AL
CODE:00411e07 8ac4 MOV AL,AH
CODE:00411e09 662bd9 SUB BX,CX
LAB_00411e0c: ;XREF[1]: 00411e10(j)
CODE:00411e0c 268807 MOV byte ptr ES:[EDI],AL
CODE:00411e0f 4f DEC EDI
CODE:00411e10 e2fa LOOP LAB_00411e0c
CODE:00411e12 6633c0 XOR AX,AX
CODE:00411e15 660bdb OR BX,BX
CODE:00411e18 75a1 JNZ LAB_00411dbb
CODE:00411e1a 665b POP BX
CODE:00411e1c 5f POP EDI
CODE:00411e1d 81ef00020000 SUB EDI,0x200
CODE:00411e23 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411e27 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411e2b 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411e2f 7c43 JL LAB_00411e74
CODE:00411e31 90 NOP
CODE:00411e32 90 NOP
CODE:00411e33 90 NOP
CODE:00411e34 90 NOP
CODE:00411e35 6633c0 XOR AX,AX
CODE:00411e38 664a DEC DX
CODE:00411e3a 0f8578ffffff JNZ LAB_00411db8
CODE:00411e40 eb32 JMP LAB_00411e74
LAB_00411e42: ;XREF[1]: 00411dbe(j)
CODE:00411e42 ac LODSB ESI
CODE:00411e43 2bf8 SUB EDI,EAX
CODE:00411e45 662bd8 SUB BX,AX
CODE:00411e48 0f856dffffff JNZ LAB_00411dbb
CODE:00411e4e 665b POP BX
CODE:00411e50 5f POP EDI
CODE:00411e51 81ef00020000 SUB EDI,0x200
CODE:00411e57 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411e5b 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411e5f 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411e63 7c0f JL LAB_00411e74
CODE:00411e65 90 NOP
CODE:00411e66 90 NOP
CODE:00411e67 90 NOP
CODE:00411e68 90 NOP
CODE:00411e69 6633c0 XOR AX,AX
CODE:00411e6c 664a DEC DX
CODE:00411e6e 0f8544ffffff JNZ LAB_00411db8
LAB_00411e74: ;XREF[8]: 00411d97(j),00411dac(j),00411df2(j),00411dff(j),
; 00411e2f(j),00411e40(j),00411e63(j),00411eb1(j)
CODE:00411e74 5f POP EDI
CODE:00411e75 5e POP ESI
CODE:00411e76 5a POP EDX
CODE:00411e77 59 POP ECX
CODE:00411e78 5b POP EBX
CODE:00411e79 58 POP EAX
CODE:00411e7a c9 LEAVE
CODE:00411e7b c3 RET
LAB_00411e7c: ;XREF[1]: 004121c6(*)
CODE:00411e7c fc CLD
CODE:00411e7d 66a1be7d4600 MOV AX,[DATA:DAT_00467dbe] ;= ??
CODE:00411e83 668945fc MOV word ptr [EBP + -0x4],AX
CODE:00411e87 66a1c07d4600 MOV AX,[DATA:DAT_00467dc0] ;= ??
CODE:00411e8d 668945f8 MOV word ptr [EBP + -0x8],AX
CODE:00411e91 668b450c MOV AX,word ptr [EBP + 0xc]
CODE:00411e95 668945f4 MOV word ptr [EBP + -0xc],AX
CODE:00411e99 663b45fc CMP AX,word ptr [EBP + -0x4]
CODE:00411e9d 7d08 JGE LAB_00411ea7
CODE:00411e9f 90 NOP
CODE:00411ea0 90 NOP
CODE:00411ea1 90 NOP
CODE:00411ea2 90 NOP
CODE:00411ea3 668b45fc MOV AX,word ptr [EBP + -0x4]
LAB_00411ea7: ;XREF[1]: 00411e9d(j)
CODE:00411ea7 663b45f8 CMP AX,word ptr [EBP + -0x8]
CODE:00411eab 7e06 JLE LAB_00411eb3
CODE:00411ead 90 NOP
CODE:00411eae 90 NOP
CODE:00411eaf 90 NOP
CODE:00411eb0 90 NOP
CODE:00411eb1 ebc1 JMP LAB_00411e74
LAB_00411eb3: ;XREF[1]: 00411eab(j)
CODE:00411eb3 0fb7c0 MOVZX EAX,AX
CODE:00411eb6 8b3d047e4600 MOV EDI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:00411ebc e83ff8ffff CALL FUN_00411700 ;int FUN_00411700(int param_1)
CODE:00411ec1 0fb74508 MOVZX EAX,word ptr [EBP + 0x8]
CODE:00411ec5 03f8 ADD EDI,EAX
CODE:00411ec7 8b7510 MOV ESI,dword ptr [EBP + 0x10]
CODE:00411eca 83c602 ADD ESI,0x2
CODE:00411ecd 0fb71e MOVZX EBX,word ptr [ESI]
CODE:00411ed0 83c602 ADD ESI,0x2
CODE:00411ed3 668b16 MOV DX,word ptr [ESI]
CODE:00411ed6 83c602 ADD ESI,0x2
CODE:00411ed9 33c9 XOR ECX,ECX
LAB_00411edb: ;XREF[2]: 00411f0e(j),00411f23(j)
CODE:00411edb 668b45fc MOV AX,word ptr [EBP + -0x4]
CODE:00411edf 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411ee3 7e45 JLE LAB_00411f2a
CODE:00411ee5 90 NOP
CODE:00411ee6 90 NOP
CODE:00411ee7 90 NOP
CODE:00411ee8 90 NOP
CODE:00411ee9 53 PUSH EBX
CODE:00411eea 33c0 XOR EAX,EAX
LAB_00411eec: ;XREF[2]: 00411f05(j),00411f1a(j)
CODE:00411eec ac LODSB ESI
CODE:00411eed 0ac0 OR AL,AL
CODE:00411eef 7425 JZ LAB_00411f16
CODE:00411ef1 90 NOP
CODE:00411ef2 90 NOP
CODE:00411ef3 90 NOP
CODE:00411ef4 90 NOP
CODE:00411ef5 3cff CMP AL,0xff
CODE:00411ef7 741c JZ LAB_00411f15
CODE:00411ef9 90 NOP
CODE:00411efa 90 NOP
CODE:00411efb 90 NOP
CODE:00411efc 90 NOP
CODE:00411efd 662bd8 SUB BX,AX
CODE:00411f00 03f0 ADD ESI,EAX
CODE:00411f02 660bdb OR BX,BX
CODE:00411f05 75e5 JNZ LAB_00411eec
CODE:00411f07 5b POP EBX
CODE:00411f08 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411f0c 664a DEC DX
CODE:00411f0e 75cb JNZ LAB_00411edb
CODE:00411f10 e9d8000000 JMP LAB_00411fed
LAB_00411f15: ;XREF[1]: 00411ef7(j)
CODE:00411f15 46 INC ESI
LAB_00411f16: ;XREF[1]: 00411eef(j)
CODE:00411f16 ac LODSB ESI
CODE:00411f17 662bd8 SUB BX,AX
CODE:00411f1a 75d0 JNZ LAB_00411eec
CODE:00411f1c 5b POP EBX
CODE:00411f1d 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411f21 664a DEC DX
CODE:00411f23 75b6 JNZ LAB_00411edb
CODE:00411f25 e9c3000000 JMP LAB_00411fed
LAB_00411f2a: ;XREF[1]: 00411ee3(j)
CODE:00411f2a 03fb ADD EDI,EBX
CODE:00411f2c 4f DEC EDI
CODE:00411f2d 33c0 XOR EAX,EAX
CODE:00411f2f 33c9 XOR ECX,ECX
LAB_00411f31: ;XREF[3]: 00411f76(j),00411fb3(j),00411fe7(j)
CODE:00411f31 57 PUSH EDI
CODE:00411f32 6653 PUSH BX
LAB_00411f34: ;XREF[3]: 00411f54(j),00411f91(j),00411fc1(j)
CODE:00411f34 ac LODSB ESI
CODE:00411f35 0ac0 OR AL,AL
CODE:00411f37 0f847e000000 JZ LAB_00411fbb
CODE:00411f3d 3cff CMP AL,0xff
CODE:00411f3f 7439 JZ LAB_00411f7a
CODE:00411f41 90 NOP
CODE:00411f42 90 NOP
CODE:00411f43 90 NOP
CODE:00411f44 90 NOP
CODE:00411f45 8ac8 MOV CL,AL
CODE:00411f47 662bd9 SUB BX,CX
LAB_00411f4a: ;XREF[1]: 00411f4f(j)
CODE:00411f4a ac LODSB ESI
CODE:00411f4b 268807 MOV byte ptr ES:[EDI],AL
CODE:00411f4e 4f DEC EDI
CODE:00411f4f e2f9 LOOP LAB_00411f4a
CODE:00411f51 660bdb OR BX,BX
CODE:00411f54 75de JNZ LAB_00411f34
CODE:00411f56 665b POP BX
CODE:00411f58 5f POP EDI
CODE:00411f59 81c700020000 ADD EDI,0x200
CODE:00411f5f 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411f63 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411f67 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411f6b 0f8c7c000000 JL LAB_00411fed
CODE:00411f71 6633c0 XOR AX,AX
CODE:00411f74 664a DEC DX
CODE:00411f76 75b9 JNZ LAB_00411f31
CODE:00411f78 eb73 JMP LAB_00411fed
LAB_00411f7a: ;XREF[1]: 00411f3f(j)
CODE:00411f7a ac LODSB ESI
CODE:00411f7b 8ae0 MOV AH,AL
CODE:00411f7d ac LODSB ESI
CODE:00411f7e 8ac8 MOV CL,AL
CODE:00411f80 8ac4 MOV AL,AH
CODE:00411f82 662bd9 SUB BX,CX
LAB_00411f85: ;XREF[1]: 00411f89(j)
CODE:00411f85 268807 MOV byte ptr ES:[EDI],AL
CODE:00411f88 4f DEC EDI
CODE:00411f89 e2fa LOOP LAB_00411f85
CODE:00411f8b 6633c0 XOR AX,AX
CODE:00411f8e 660bdb OR BX,BX
CODE:00411f91 75a1 JNZ LAB_00411f34
CODE:00411f93 665b POP BX
CODE:00411f95 5f POP EDI
CODE:00411f96 81c700020000 ADD EDI,0x200
CODE:00411f9c 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411fa0 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411fa4 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411fa8 7c43 JL LAB_00411fed
CODE:00411faa 90 NOP
CODE:00411fab 90 NOP
CODE:00411fac 90 NOP
CODE:00411fad 90 NOP
CODE:00411fae 6633c0 XOR AX,AX
CODE:00411fb1 664a DEC DX
CODE:00411fb3 0f8578ffffff JNZ LAB_00411f31
CODE:00411fb9 eb32 JMP LAB_00411fed
LAB_00411fbb: ;XREF[1]: 00411f37(j)
CODE:00411fbb ac LODSB ESI
CODE:00411fbc 2bf8 SUB EDI,EAX
CODE:00411fbe 662bd8 SUB BX,AX
CODE:00411fc1 0f856dffffff JNZ LAB_00411f34
CODE:00411fc7 665b POP BX
CODE:00411fc9 5f POP EDI
CODE:00411fca 81c700020000 ADD EDI,0x200
CODE:00411fd0 66ff45f4 INC word ptr [EBP + -0xc]
CODE:00411fd4 668b45f8 MOV AX,word ptr [EBP + -0x8]
CODE:00411fd8 663b45f4 CMP AX,word ptr [EBP + -0xc]
CODE:00411fdc 7c0f JL LAB_00411fed
CODE:00411fde 90 NOP
CODE:00411fdf 90 NOP
CODE:00411fe0 90 NOP
CODE:00411fe1 90 NOP
CODE:00411fe2 6633c0 XOR AX,AX
CODE:00411fe5 664a DEC DX
CODE:00411fe7 0f8544ffffff JNZ LAB_00411f31
LAB_00411fed: ;XREF[7]: 00411f10(j),00411f25(j),00411f6b(j),00411f78(j),
; 00411fa8(j),00411fb9(j),00411fdc(j)
CODE:00411fed 5f POP EDI
CODE:00411fee 5e POP ESI
CODE:00411fef 5a POP EDX
CODE:00411ff0 59 POP ECX
CODE:00411ff1 5b POP EBX
CODE:00411ff2 58 POP EAX
CODE:00411ff3 c9 LEAVE
CODE:00411ff4 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411ff5(undefined4 param_1, short param_2, uint param_3)
;param_1 undefined4 EAX
;param_2 short DX
;param_3 uint ECX
;XREF[3]: 00412079(c),004120cf(c),00412149(c)
CODE:00411ff5 fc CLD
CODE:00411ff6 0fbfdb MOVSX EBX,BX
CODE:00411ff9 8bc1 MOV param_1,param_3
LAB_00411ffb: ;XREF[1]: 00412013(j)
CODE:00411ffb 56 PUSH ESI
CODE:00411ffc 57 PUSH EDI
CODE:00411ffd 8bc8 MOV param_3,param_1
CODE:00411fff d1e9 SHR param_3,0x1
CODE:00412001 f366a5 MOVSW.REP ES:EDI,ESI
CODE:00412004 7305 JNC LAB_0041200b
CODE:00412006 90 NOP
CODE:00412007 90 NOP
CODE:00412008 90 NOP
CODE:00412009 90 NOP
CODE:0041200a a4 MOVSB ES:EDI,ESI
LAB_0041200b: ;XREF[1]: 00412004(j)
CODE:0041200b 5f POP EDI
CODE:0041200c 03fb ADD EDI,EBX
CODE:0041200e 5e POP ESI
CODE:0041200f 03f3 ADD ESI,EBX
CODE:00412011 664a DEC param_2
CODE:00412013 75e6 JNZ LAB_00411ffb
CODE:00412015 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412016(undefined4 param_1, short param_2, int param_3)
;param_1 undefined4 EAX
;param_2 short DX
;param_3 int ECX
;XREF[1]: 0041213c(c)
CODE:00412016 fd STD
CODE:00412017 0fbfdb MOVSX EBX,BX
CODE:0041201a 8bc1 MOV param_1,param_3
LAB_0041201c: ;XREF[1]: 0041202a(j)
CODE:0041201c 56 PUSH ESI
CODE:0041201d 57 PUSH EDI
CODE:0041201e 8bc8 MOV param_3,param_1
CODE:00412020 f3a4 MOVSB.REP ES:EDI,ESI
CODE:00412022 5f POP EDI
CODE:00412023 03fb ADD EDI,EBX
CODE:00412025 5e POP ESI
CODE:00412026 03f3 ADD ESI,EBX
CODE:00412028 664a DEC param_2
CODE:0041202a 75f0 JNZ LAB_0041201c
CODE:0041202c fc CLD
CODE:0041202d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041202e(void)
;XREF[1]: 00430dde(c)
CODE:0041202e c8000000 ENTER 0x0,0x0
CODE:00412032 50 PUSH EAX
CODE:00412033 53 PUSH EBX
CODE:00412034 51 PUSH ECX
CODE:00412035 52 PUSH EDX
CODE:00412036 56 PUSH ESI
CODE:00412037 57 PUSH EDI
CODE:00412038 ff2504024600 JMP dword ptr [DATA:DAT_00460204]
LAB_0041203e: ;XREF[1]: 00412220(*)
CODE:0041203e 66ff35180... PUSH word ptr [DATA:DAT_00460218]
CODE:00412045 8b7508 MOV ESI,dword ptr [EBP + 0x8]
CODE:00412048 0fb74602 MOVZX EAX,word ptr [ESI + 0x2]
CODE:0041204c 0fb71e MOVZX EBX,word ptr [ESI]
CODE:0041204f 0fb74e04 MOVZX ECX,word ptr [ESI + 0x4]
CODE:00412053 668b5606 MOV DX,word ptr [ESI + 0x6]
CODE:00412057 50 PUSH EAX
CODE:00412058 8b35047e4600 MOV ESI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:0041205e ff1510024600 CALL dword ptr [DATA:DAT_00460210]
CODE:00412064 03f3 ADD ESI,EBX
CODE:00412066 58 POP EAX
CODE:00412067 06 PUSH ES
CODE:00412068 8b3d087e4600 MOV EDI,dword ptr [DATA:DAT_00467e08] ;= ??
CODE:0041206e ff1514024600 CALL dword ptr [DATA:DAT_00460214]
CODE:00412074 03fb ADD EDI,EBX
CODE:00412076 1f POP DS
CODE:00412077 665b POP BX
CODE:00412079 e877ffffff CALL FUN_00411ff5 ;undefined FUN_00411ff5(undefined4 pa...
CODE:0041207e 5f POP EDI
CODE:0041207f 5e POP ESI
CODE:00412080 5a POP EDX
CODE:00412081 59 POP ECX
CODE:00412082 5b POP EBX
CODE:00412083 58 POP EAX
CODE:00412084 c9 LEAVE
CODE:00412085 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412086(void)
;XREF[3]: 004124ec(c),00414096(c),00430e12(c)
CODE:00412086 c8000000 ENTER 0x0,0x0
CODE:0041208a 50 PUSH EAX
CODE:0041208b 53 PUSH EBX
CODE:0041208c 51 PUSH ECX
CODE:0041208d 52 PUSH EDX
CODE:0041208e 56 PUSH ESI
CODE:0041208f 57 PUSH EDI
CODE:00412090 ff2500024600 JMP dword ptr [DATA:DAT_00460200]
LAB_00412096: ;XREF[1]: 0041222a(*)
CODE:00412096 66ff35180... PUSH word ptr [DATA:DAT_00460218]
CODE:0041209d 8b7508 MOV ESI,dword ptr [EBP + 0x8]
CODE:004120a0 0fb74602 MOVZX EAX,word ptr [ESI + 0x2]
CODE:004120a4 0fb71e MOVZX EBX,word ptr [ESI]
CODE:004120a7 0fb74e04 MOVZX ECX,word ptr [ESI + 0x4]
CODE:004120ab 668b5606 MOV DX,word ptr [ESI + 0x6]
CODE:004120af 50 PUSH EAX
CODE:004120b0 8b35087e4600 MOV ESI,dword ptr [DATA:DAT_00467e08] ;= ??
CODE:004120b6 ff1510024600 CALL dword ptr [DATA:DAT_00460210]
CODE:004120bc 03f3 ADD ESI,EBX
CODE:004120be 58 POP EAX
CODE:004120bf 8b3d047e4600 MOV EDI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:004120c5 ff1514024600 CALL dword ptr [DATA:DAT_00460214]
CODE:004120cb 03fb ADD EDI,EBX
CODE:004120cd 665b POP BX
CODE:004120cf e821ffffff CALL FUN_00411ff5 ;undefined FUN_00411ff5(undefined4 pa...
CODE:004120d4 5f POP EDI
CODE:004120d5 5e POP ESI
CODE:004120d6 5a POP EDX
CODE:004120d7 59 POP ECX
CODE:004120d8 5b POP EBX
CODE:004120d9 58 POP EAX
CODE:004120da c9 LEAVE
CODE:004120db c3 RET
CODE:004120dc c8 ?? C8h
CODE:004120dd 00 ?? 00h
CODE:004120de 00 ?? 00h
CODE:004120df 00 ?? 00h
CODE:004120e0 50 ?? 50h P
CODE:004120e1 53 ?? 53h S
CODE:004120e2 51 ?? 51h Q
CODE:004120e3 52 ?? 52h R
CODE:004120e4 56 ?? 56h V
CODE:004120e5 57 ?? 57h W
CODE:004120e6 ff ?? FFh
CODE:004120e7 25 ?? 25h %
CODE:004120e8 0c ?? 0Ch ;? -> 0046020c
CODE:004120e9 02 ?? 02h
CODE:004120ea 46 ?? 46h F
CODE:004120eb 00 ?? 00h
LAB_004120ec: ;XREF[1]: 00412234(*)
CODE:004120ec 66ff35180... PUSH word ptr [DATA:DAT_00460218]
CODE:004120f3 8b7510 MOV ESI,dword ptr [EBP + 0x10]
CODE:004120f6 0fb74602 MOVZX EAX,word ptr [ESI + 0x2]
CODE:004120fa 0fbf1e MOVSX EBX,word ptr [ESI]
CODE:004120fd 0fb74e04 MOVZX ECX,word ptr [ESI + 0x4]
CODE:00412101 668b5606 MOV DX,word ptr [ESI + 0x6]
CODE:00412105 50 PUSH EAX
CODE:00412106 8b3d087e4600 MOV EDI,dword ptr [DATA:DAT_00467e08] ;= ??
CODE:0041210c ff1514024600 CALL dword ptr [DATA:DAT_00460214]
CODE:00412112 03fb ADD EDI,EBX
CODE:00412114 58 POP EAX
CODE:00412115 8b750c MOV ESI,dword ptr [EBP + 0xc]
CODE:00412118 0fb74602 MOVZX EAX,word ptr [ESI + 0x2]
CODE:0041211c 0fbf1e MOVSX EBX,word ptr [ESI]
CODE:0041211f 50 PUSH EAX
CODE:00412120 8b35047e4600 MOV ESI,dword ptr [DATA:DAT_00467e04] ;= ??
CODE:00412126 ff1510024600 CALL dword ptr [DATA:DAT_00460210]
CODE:0041212c 03f3 ADD ESI,EBX
CODE:0041212e 58 POP EAX
CODE:0041212f 665b POP BX
CODE:00412131 66837d08ff CMP word ptr [EBP + 0x8],-0x1
CODE:00412136 7511 JNZ LAB_00412149
CODE:00412138 90 NOP
CODE:00412139 90 NOP
CODE:0041213a 90 NOP
CODE:0041213b 90 NOP
CODE:0041213c e8d5feffff CALL FUN_00412016 ;undefined FUN_00412016(undefined4 pa...
CODE:00412141 5f POP EDI
CODE:00412142 5e POP ESI
CODE:00412143 5a POP EDX
CODE:00412144 59 POP ECX
CODE:00412145 5b POP EBX
CODE:00412146 58 POP EAX
CODE:00412147 c9 LEAVE
CODE:00412148 c3 RET
LAB_00412149: ;XREF[1]: 00412136(j)
CODE:00412149 e8a7feffff CALL FUN_00411ff5 ;undefined FUN_00411ff5(undefined4 pa...
CODE:0041214e 5f POP EDI
CODE:0041214f 5e POP ESI
CODE:00412150 5a POP EDX
CODE:00412151 59 POP ECX
CODE:00412152 5b POP EBX
CODE:00412153 58 POP EAX
CODE:00412154 c9 LEAVE
CODE:00412155 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00412156(undefined4 param_1, undefined4 param_2, undefined4 param_3, short param_4, short param_5)
;param_1 undefined4 EAX
;param_2 undefined4 EDX
;param_3 undefined4 ECX
;param_4 short 4 ;XREF[1]: 00412160(R)
;param_5 short 8 ;XREF[1]: 0041216b(R)
;XREF[1]: 00430745(c)
CODE:00412156 c8000000 ENTER 0x0,0x0
CODE:0041215a 50 PUSH param_1
CODE:0041215b 53 PUSH EBX
CODE:0041215c 51 PUSH param_3
CODE:0041215d 52 PUSH param_2
CODE:0041215e 56 PUSH ESI
CODE:0041215f 57 PUSH EDI
CODE:00412160 66837d0801 CMP word ptr [EBP + param_4+0x4],0x1
CODE:00412165 740f JZ LAB_00412176
CODE:00412167 90 NOP
CODE:00412168 90 NOP
CODE:00412169 90 NOP
CODE:0041216a 90 NOP
CODE:0041216b 66837d0cff CMP word ptr [EBP + param_5+0x4],-0x1
CODE:00412170 7441 JZ LAB_004121b3
CODE:00412172 90 NOP
CODE:00412173 90 NOP
CODE:00412174 90 NOP
CODE:00412175 90 NOP
LAB_00412176: ;XREF[1]: 00412165(j)
CODE:00412176 66c705180... MOV word ptr [DATA:DAT_00460218],0xfe00
CODE:0041217f b8001a4100 MOV param_1,LAB_00411a00
CODE:00412184 a3dc014600 MOV [DATA:DAT_004601dc],param_1
CODE:00412189 b8031d4100 MOV param_1,LAB_00411d03
CODE:0041218e a3e0014600 MOV [DATA:DAT_004601e0],param_1
CODE:00412193 b80c174100 MOV param_1,FUN_0041170c
CODE:00412198 a314024600 MOV [DATA:DAT_00460214],param_1
CODE:0041219d b81c174100 MOV param_1,LAB_0041171c
CODE:004121a2 a310024600 MOV [DATA:DAT_00460210],param_1
CODE:004121a7 b8b5174100 MOV param_1,LAB_004117b5
CODE:004121ac a3e8014600 MOV [DATA:DAT_004601e8],param_1
CODE:004121b1 eb3b JMP LAB_004121ee
LAB_004121b3: ;XREF[1]: 00412170(j)
CODE:004121b3 66c705180... MOV word ptr [DATA:DAT_00460218],0x200
CODE:004121bc b8761b4100 MOV param_1,LAB_00411b76
CODE:004121c1 a3dc014600 MOV [DATA:DAT_004601dc],param_1
CODE:004121c6 b87c1e4100 MOV param_1,LAB_00411e7c
CODE:004121cb a3e0014600 MOV [DATA:DAT_004601e0],param_1
CODE:004121d0 b800174100 MOV param_1,FUN_00411700
CODE:004121d5 a314024600 MOV [DATA:DAT_00460214],param_1
CODE:004121da b806174100 MOV param_1,LAB_00411706
CODE:004121df a310024600 MOV [DATA:DAT_00460210],param_1
CODE:004121e4 b8fa174100 MOV param_1,LAB_004117fa
CODE:004121e9 a3e8014600 MOV [DATA:DAT_004601e8],param_1
LAB_004121ee: ;XREF[1]: 004121b1(j)
CODE:004121ee b8a1194100 MOV param_1,LAB_004119a1
CODE:004121f3 a3fc014600 MOV [DATA:DAT_004601fc],param_1
CODE:004121f8 b848184100 MOV param_1,LAB_00411848
CODE:004121fd a3ec014600 MOV [DATA:DAT_004601ec],param_1
CODE:00412202 b88c184100 MOV param_1,LAB_0041188c
CODE:00412207 a3f0014600 MOV [DATA:DAT_004601f0],param_1
CODE:0041220c b8cf184100 MOV param_1,LAB_004118cf
CODE:00412211 a3f4014600 MOV [DATA:DAT_004601f4],param_1
CODE:00412216 b863174100 MOV param_1,LAB_00411763
CODE:0041221b a3e4014600 MOV [DATA:DAT_004601e4],param_1
CODE:00412220 b83e204100 MOV param_1,LAB_0041203e
CODE:00412225 a304024600 MOV [DATA:DAT_00460204],param_1
CODE:0041222a b896204100 MOV param_1,LAB_00412096
CODE:0041222f a300024600 MOV [DATA:DAT_00460200],param_1
CODE:00412234 b8ec204100 MOV param_1,LAB_004120ec
CODE:00412239 a30c024600 MOV [DATA:DAT_0046020c],param_1
CODE:0041223e b83e194100 MOV param_1,LAB_0041193e
CODE:00412243 a308024600 MOV [DATA:DAT_00460208],param_1
CODE:00412248 5f POP EDI
CODE:00412249 5e POP ESI
CODE:0041224a 5a POP param_2
CODE:0041224b 59 POP param_3
CODE:0041224c 5b POP EBX
CODE:0041224d 58 POP param_1
CODE:0041224e c9 LEAVE
CODE:0041224f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412250(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 00410f2c(c),004307f5(*),0046021c(*)
CODE:00412250 55 PUSH EBP
CODE:00412251 8bec MOV EBP,ESP
CODE:00412253 6a01 PUSH 0x1 ;int i for GetStockObject
CODE:00412255 e803350400 CALL GDI32.DLL::GetStockObject ;HGDIOBJ GetStockObject(int i)
CODE:0041225a 50 PUSH EAX ;HBRUSH hbr for FillRect
CODE:0041225b ff750c PUSH dword ptr [EBP + Stack[0x8]+0x4] ;RECT * lprc for FillRect
CODE:0041225e ff7508 PUSH dword ptr [EBP + Stack[0x4]+0x4] ;HDC hDC for FillRect
CODE:00412261 e819340400 CALL USER32.DLL::FillRect ;int FillRect(HDC hDC, RECT * lprc, H...
CODE:00412266 5d POP EBP
CODE:00412267 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412268(void)
;XREF[4]: 004112a0(c),00411327(c),00460220(*),00460224(*)
CODE:00412268 55 PUSH EBP
CODE:00412269 8bec MOV EBP,ESP
CODE:0041226b 5d POP EBP
CODE:0041226c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041226d(void)
;XREF[4]: 00411186(c),004111ba(c),00411202(c),00460228(*)
CODE:0041226d 55 PUSH EBP
CODE:0041226e 8bec MOV EBP,ESP
CODE:00412270 5d POP EBP
CODE:00412271 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined DoNothing(void)
;XREF[19]: 004110d2(c),00411104(c),00411110(c),00411397(c),
; 004113d4(c),0041144b(c),00411505(c),0041150b(c),
; 0042ff86(*),0042ff90(*),0042ff9a(*),00460230(*),
; 00460234(*),00460238(*),0046023c(*),00460244(*),
; 00460248(*),0046024c(*),00460250(*)
CODE:00412272 c3 RET
CODE:00412273 66 ?? 66h f
CODE:00412274 b8 ?? B8h
CODE:00412275 01 ?? 01h
CODE:00412276 00 ?? 00h
CODE:00412277 c3 ?? C3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00412278(void)
;XREF[6]: 004111dd(c),0041134a(c),00411423(c),0041145a(c),
; 00460240(*),00460254(*)
CODE:00412278 33c0 XOR EAX,EAX
CODE:0041227a c3 RET
CODE:0041227b 00 ?? 00h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void FUN_0041227c(undefined2 param_1)
;param_1 undefined2 4 ;XREF[1]: 00412293(R)
;local_54 undefined1 -54 ;XREF[2]: 00412287(*),00412298(*)
;XREF[2]: 00412419(c),00413420(c)
CODE:0041227c 55 PUSH EBP
CODE:0041227d 8bec MOV EBP,ESP
CODE:0041227f 83c4b0 ADD ESP,-0x50
CODE:00412282 68844e0000 PUSH 0x4e84
CODE:00412287 8d45b0 LEA EAX=>local_54,[EBP + -0x50]
CODE:0041228a 50 PUSH EAX
CODE:0041228b e864dfffff CALL GetWinapiString ;void GetWinapiString(char * result, ...
CODE:00412290 83c408 ADD ESP,0x8
CODE:00412293 0fbf4508 MOVSX EAX,word ptr [EBP + param_1+0x4]
CODE:00412297 50 PUSH EAX
CODE:00412298 8d45b0 LEA EAX=>local_54,[EBP + -0x50]
CODE:0041229b 50 PUSH EAX
CODE:0041229c e82d8a0000 CALL FUN_0041acce ;undefined FUN_0041acce(undefined4 pa...
CODE:004122a1 83c408 ADD ESP,0x8
CODE:004122a4 8be5 MOV ESP,EBP
CODE:004122a6 5d POP EBP
CODE:004122a7 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004122a8(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 00412dfa(*),00412ea2(*),00412ee6(*),00412fc8(*)
CODE:004122a8 55 PUSH EBP
CODE:004122a9 8bec MOV EBP,ESP
CODE:004122ab 8b450c MOV EAX,dword ptr [EBP + Stack[0x8]+0x4]
CODE:004122ae 668b400c MOV AX,word ptr [EAX + 0xc]
CODE:004122b2 8b5508 MOV EDX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:004122b5 662b420c SUB AX,word ptr [EDX + 0xc]
CODE:004122b9 5d POP EBP
CODE:004122ba c3 RET
CODE:004122bb 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004122bc(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 004136a4(*)
CODE:004122bc 55 PUSH EBP
CODE:004122bd 8bec MOV EBP,ESP
CODE:004122bf 8b450c MOV EAX,dword ptr [EBP + Stack[0x8]+0x4]
CODE:004122c2 668b400a MOV AX,word ptr [EAX + 0xa]
CODE:004122c6 8b5508 MOV EDX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:004122c9 662b420a SUB AX,word ptr [EDX + 0xa]
CODE:004122cd 5d POP EBP
CODE:004122ce c3 RET
CODE:004122cf 90 ?? 90h
;************************************************************************************************
;* bool *
;************************************************************************************************
;short intersects(Rect16 * p, Rect16 * q)
;p Rect16 * 4 ;XREF[1]: 004122dc(R)
;q Rect16 * 8 ;XREF[1]: 004122d9(R)
;local_6 undefined2 -6 ;XREF[2]: 004122f1(W),00412320(R)
;local_8 undefined2 -8 ;XREF[2]: 004122e9(W),0041231a(R)
;local_a undefined2 -a ;XREF[2]: 004122fa(W),00412326(R)
;XREF[6]: 00412514(c),0041254b(c),00412720(c),00413cc9(c),
; 0041401b(c),004140ba(c)
CODE:004122d0 55 PUSH EBP
CODE:004122d1 8bec MOV EBP,ESP
CODE:004122d3 83c4f8 ADD ESP,-0x8
CODE:004122d6 53 PUSH EBX
CODE:004122d7 56 PUSH ESI
CODE:004122d8 57 PUSH EDI
CODE:004122d9 8b550c MOV EDX,dword ptr [EBP + q+0x4]
CODE:004122dc 8b4508 MOV EAX,dword ptr [EBP + p+0x4]
CODE:004122df 668b38 MOV DI,word ptr [EAX]
CODE:004122e2 8bcf MOV ECX,EDI
CODE:004122e4 66034804 ADD CX,word ptr [EAX + 0x4]
CODE:004122e8 49 DEC ECX
CODE:004122e9 66894dfc MOV word ptr [EBP + local_8+0x4],CX
CODE:004122ed 668b4802 MOV CX,word ptr [EAX + 0x2]
CODE:004122f1 66894dfe MOV word ptr [EBP + local_6+0x4],CX
CODE:004122f5 66034806 ADD CX,word ptr [EAX + 0x6]
CODE:004122f9 49 DEC ECX
CODE:004122fa 66894dfa MOV word ptr [EBP + local_a+0x4],CX
CODE:004122fe 668b02 MOV AX,word ptr [EDX]
CODE:00412301 8bc8 MOV ECX,EAX
CODE:00412303 66034a04 ADD CX,word ptr [EDX + 0x4]
CODE:00412307 49 DEC ECX
CODE:00412308 668b7202 MOV SI,word ptr [EDX + 0x2]
CODE:0041230c 8bde MOV EBX,ESI
CODE:0041230e 66035a06 ADD BX,word ptr [EDX + 0x6]
CODE:00412312 4b DEC EBX
CODE:00412313 8bd3 MOV EDX,EBX
CODE:00412315 663bcf CMP CX,DI
CODE:00412318 7c18 JL LAB_00412332
CODE:0041231a 663b45fc CMP AX,word ptr [EBP + local_8+0x4]
CODE:0041231e 7f12 JG LAB_00412332
CODE:00412320 663b55fe CMP DX,word ptr [EBP + local_6+0x4]
CODE:00412324 7c0c JL LAB_00412332
CODE:00412326 663b75fa CMP SI,word ptr [EBP + local_a+0x4]
CODE:0041232a 7f06 JG LAB_00412332
CODE:0041232c 66b80100 MOV AX,0x1
CODE:00412330 eb02 JMP LAB_00412334
LAB_00412332: ;XREF[4]: 00412318(j),0041231e(j),00412324(j),0041232a(j)
CODE:00412332 33c0 XOR EAX,EAX
LAB_00412334: ;XREF[1]: 00412330(j)
CODE:00412334 5f POP EDI
CODE:00412335 5e POP ESI
CODE:00412336 5b POP EBX
CODE:00412337 59 POP ECX
CODE:00412338 59 POP ECX
CODE:00412339 5d POP EBP
CODE:0041233a c3 RET
CODE:0041233b 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0041233c(undefined4 param_1, undefined4 param_2)
;param_1 undefined4 4 ;XREF[1]: 00412348(R)
;param_2 undefined4 8 ;XREF[1]: 00412345(R)
;local_8 undefined4 -8 ;XREF[5]: 0041237a(W),0041238d(R),004123b1(R),004123bc(W),004123e7(R)
;local_c undefined4 -c ;XREF[4]: 00412350(W),0041238a(R),004123a5(R),004123aa(R)
;local_10 undefined4 -10 ;XREF[4]: 00412361(W),00412397(R),004123c3(R),004123c8(R)
;local_14 undefined4 -14 ;XREF[4]: 0041235a(W),00412392(R),004123b4(R),004123b9(R)
;local_18 undefined4 -18 ;XREF[4]: 0041236b(W),0041239c(R),004123cf(R),004123d4(R)
;XREF[2]: 0041358b(c),00413c12(c)
CODE:0041233c 55 PUSH EBP
CODE:0041233d 8bec MOV EBP,ESP
CODE:0041233f 83c4ec ADD ESP,-0x14
CODE:00412342 53 PUSH EBX
CODE:00412343 56 PUSH ESI
CODE:00412344 57 PUSH EDI
CODE:00412345 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
CODE:00412348 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
CODE:0041234b 33d2 XOR EDX,EDX
CODE:0041234d 0fbf19 MOVSX EBX,word ptr [ECX]
CODE:00412350 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
CODE:00412353 0fbf7104 MOVSX ESI,word ptr [ECX + 0x4]
CODE:00412357 03de ADD EBX,ESI
CODE:00412359 4b DEC EBX
CODE:0041235a 895df0 MOV dword ptr [EBP + local_14+0x4],EBX
CODE:0041235d 0fbf5902 MOVSX EBX,word ptr [ECX + 0x2]
CODE:00412361 895df4 MOV dword ptr [EBP + local_10+0x4],EBX
CODE:00412364 0fbf4906 MOVSX ECX,word ptr [ECX + 0x6]
CODE:00412368 03d9 ADD EBX,ECX
CODE:0041236a 4b DEC EBX
CODE:0041236b 895dec MOV dword ptr [EBP + local_18+0x4],EBX
CODE:0041236e 0fbf08 MOVSX ECX,word ptr [EAX]
CODE:00412371 8bd9 MOV EBX,ECX
CODE:00412373 0fbf7004 MOVSX ESI,word ptr [EAX + 0x4]
CODE:00412377 03de ADD EBX,ESI
CODE:00412379 4b DEC EBX
CODE:0041237a 895dfc MOV dword ptr [EBP + local_8+0x4],EBX
CODE:0041237d 0fbf7002 MOVSX ESI,word ptr [EAX + 0x2]
CODE:00412381 8bfe MOV EDI,ESI
CODE:00412383 0fbf5806 MOVSX EBX,word ptr [EAX + 0x6]
CODE:00412387 03fb ADD EDI,EBX
CODE:00412389 4f DEC EDI
CODE:0041238a 8b5df8 MOV EBX,dword ptr [EBP + local_c+0x4]
CODE:0041238d 3b5dfc CMP EBX,dword ptr [EBP + local_8+0x4]
CODE:00412390 7f69 JG LAB_004123fb
CODE:00412392 3b4df0 CMP ECX,dword ptr [EBP + local_14+0x4]
CODE:00412395 7f64 JG LAB_004123fb
CODE:00412397 3b7df4 CMP EDI,dword ptr [EBP + local_10+0x4]
CODE:0041239a 7c5f JL LAB_004123fb
CODE:0041239c 3b75ec CMP ESI,dword ptr [EBP + local_18+0x4]
CODE:0041239f 7f5a JG LAB_004123fb
CODE:004123a1 66ba0100 MOV DX,0x1
CODE:004123a5 3b4df8 CMP ECX,dword ptr [EBP + local_c+0x4]
CODE:004123a8 7d07 JGE LAB_004123b1
CODE:004123aa 8b4df8 MOV ECX,dword ptr [EBP + local_c+0x4]
CODE:004123ad 6683ca02 OR DX,0x2
LAB_004123b1: ;XREF[1]: 004123a8(j)
CODE:004123b1 8b5dfc MOV EBX,dword ptr [EBP + local_8+0x4]
CODE:004123b4 3b5df0 CMP EBX,dword ptr [EBP + local_14+0x4]
CODE:004123b7 7e0a JLE LAB_004123c3
CODE:004123b9 8b5df0 MOV EBX,dword ptr [EBP + local_14+0x4]
CODE:004123bc 895dfc MOV dword ptr [EBP + local_8+0x4],EBX
CODE:004123bf 6683ca02 OR DX,0x2
LAB_004123c3: ;XREF[1]: 004123b7(j)
CODE:004123c3 3b75f4 CMP ESI,dword ptr [EBP + local_10+0x4]
CODE:004123c6 7f07 JG LAB_004123cf
CODE:004123c8 8b75f4 MOV ESI,dword ptr [EBP + local_10+0x4]
CODE:004123cb 6683ca04 OR DX,0x4
LAB_004123cf: ;XREF[1]: 004123c6(j)
CODE:004123cf 3b7dec CMP EDI,dword ptr [EBP + local_18+0x4]
CODE:004123d2 7c07 JL LAB_004123db
CODE:004123d4 8b7dec MOV EDI,dword ptr [EBP + local_18+0x4]
CODE:004123d7 6683ca04 OR DX,0x4
LAB_004123db: ;XREF[1]: 004123d2(j)
CODE:004123db f6c206 TEST DL,0x6
CODE:004123de 741b JZ LAB_004123fb
CODE:004123e0 668908 MOV word ptr [EAX],CX
CODE:004123e3 66897002 MOV word ptr [EAX + 0x2],SI
CODE:004123e7 668b5dfc MOV BX,word ptr [EBP + local_8+0x4]
CODE:004123eb 662bd9 SUB BX,CX
CODE:004123ee 43 INC EBX
CODE:004123ef 66895804 MOV word ptr [EAX + 0x4],BX
CODE:004123f3 662bfe SUB DI,SI
CODE:004123f6 47 INC EDI
CODE:004123f7 66897806 MOV word ptr [EAX + 0x6],DI
LAB_004123fb: ;XREF[5]: 00412390(j),00412395(j),0041239a(j),0041239f(j),
; 004123de(j)
CODE:004123fb 8bc2 MOV EAX,EDX
CODE:004123fd 5f POP EDI
CODE:004123fe 5e POP ESI
CODE:004123ff 5b POP EBX
CODE:00412400 8be5 MOV ESP,EBP
CODE:00412402 5d POP EBP
CODE:00412403 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00412404(void)
;XREF[1]: 004135c1(c)
CODE:00412404 53 PUSH EBX
CODE:00412405 a124574600 MOV EAX,[DATA:Dlist_00465724] ;= ??
CODE:0041240a 50 PUSH EAX
CODE:0041240b e8d82c0200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:00412410 59 POP ECX
CODE:00412411 8bd8 MOV EBX,EAX
CODE:00412413 85db TEST EBX,EBX
CODE:00412415 7508 JNZ LAB_0041241f
CODE:00412417 6a02 PUSH 0x2
CODE:00412419 e85efeffff CALL FUN_0041227c ;void FUN_0041227c(undefined2 param_1)
CODE:0041241e 59 POP ECX
LAB_0041241f: ;XREF[1]: 00412415(j)
CODE:0041241f 53 PUSH EBX
CODE:00412420 a124574600 MOV EAX,[DATA:Dlist_00465724] ;= ??
CODE:00412425 50 PUSH EAX
CODE:00412426 e81f2e0200 CALL DlistRemove ;void DlistRemove(Dlist * list, Dlist...
CODE:0041242b 83c408 ADD ESP,0x8
CODE:0041242e 8bc3 MOV EAX,EBX
CODE:00412430 5b POP EBX
CODE:00412431 c3 RET
CODE:00412432 90 ?? 90h
CODE:00412433 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined switchLists?(BigNode24h * node)
;node BigNode24h * 4 ;XREF[1]: 00412438(R)
;XREF[2]: 00412571(c),00412f7d(c)
CODE:00412434 55 PUSH EBP
CODE:00412435 8bec MOV EBP,ESP
CODE:00412437 53 PUSH EBX
CODE:00412438 8b5d08 MOV EBX,dword ptr [EBP + node+0x4]
CODE:0041243b 33c0 XOR EAX,EAX
CODE:0041243d 894320 MOV dword ptr [EBX + 0x20],EAX
CODE:00412440 53 PUSH EBX
CODE:00412441 a120574600 MOV EAX,[DATA:Dlist_00465720] ;= ??
CODE:00412446 50 PUSH EAX
CODE:00412447 e8fe2d0200 CALL DlistRemove ;void DlistRemove(Dlist * list, Dlist...
CODE:0041244c 83c408 ADD ESP,0x8
CODE:0041244f 68ffff0000 PUSH 0xffff
CODE:00412454 53 PUSH EBX
CODE:00412455 a124574600 MOV EAX,[DATA:Dlist_00465724] ;= ??
CODE:0041245a 50 PUSH EAX
CODE:0041245b e8672d0200 CALL DlistInsert ;void DlistInsert(Dlist * list, Dlist...
CODE:00412460 83c40c ADD ESP,0xc
CODE:00412463 5b POP EBX
CODE:00412464 5d POP EBP
CODE:00412465 c3 RET
CODE:00412466 90 ?? 90h
CODE:00412467 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412468(undefined param_1, undefined param_2, undefined param_3, undefined2 param_4, undefined2 param_5, undefined2 param_6)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined2 ;param_5 undefined2 ;param_6 undefined2 00413a0e(c)
CODE:00412468 55 PUSH EBP
CODE:00412469 8bec MOV EBP,ESP
CODE:0041246b 0fbf4508 MOVSX EAX,word ptr [EBP + Stack[0x4]+0x4]
CODE:0041246f c1e002 SHL EAX,0x2
CODE:00412472 8d04c0 LEA EAX,[EAX + EAX*0x8]
CODE:00412475 81c010494600 ADD EAX,DATA:BigNode24h_ARRAY_00464910 ;= ??
CODE:0041247b 668b550c MOV DX,word ptr [EBP + Stack[0x8]+0x4]
CODE:0041247f 6601500e ADD word ptr [EAX + ...,DX=>DATA:BigNode2...
CODE:00412483 668b5510 MOV DX,word ptr [EBP + Stack[0xc]+0x4]
CODE:00412487 66015010 ADD word ptr [EAX + ...,DX=>DATA:BigNode2...
CODE:0041248b 5d POP EBP
CODE:0041248c c3 RET
CODE:0041248d 90 ?? 90h
CODE:0041248e 90 ?? 90h
CODE:0041248f 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void drainNodesAndCheckNodeSiblingIntersects(BigThing6Eh * this)
;this BigThing6Eh * 4 ;XREF[3]: 0041249f(R),00412582(R),00412593(R)
;intersects undefined2 AX ;XREF[3]: 00412514(W),00412527(W),00412537(W)
;prev BigNode24h * EAX ;XREF[2]: 00412527(W),00412537(W)
;next BigNode24h * EAX ;XREF[1]: 00412537(W)
;pj undefined4 EDI ;XREF[1]: 00412582(W)
;i undefined2 -6 ;XREF[3]: 004124a5(W),0041257b(RW),00412589(R)
;count undefined2 -8 ;XREF[3]: 00412499(W),00412577(RW),00412596(R)
;node BigNode24h -2c ;XREF[3,6]: 004124c6(*),004124fc(*),00412533(*),004124d2(R),004124e8(*),
; 004124f2(*),00412510(*),00412547(*),0041256a(R)
;j undefined2 HASH...
;XREF[3]: 00412f5b(c),004130bd(c),004139f0(c)
CODE:00412490 55 PUSH EBP
CODE:00412491 8bec MOV EBP,ESP
CODE:00412493 83c4d8 ADD ESP,-0x28
CODE:00412496 53 PUSH EBX
CODE:00412497 56 PUSH ESI
CODE:00412498 57 PUSH EDI
CODE:00412499 66c745fc0000 MOV word ptr [EBP + count+0x4],0x0
CODE:0041249f 8b4508 MOV EAX,dword ptr [EBP + this+0x4]
CODE:004124a2 8b406a MOV EAX,dword ptr [EAX + 0x6a]
CODE:004124a5 66c745fe0000 MOV word ptr [EBP + i+0x4],0x0
CODE:004124ab 8bf8 MOV EDI,EAX
CODE:004124ad e9d0000000 JMP LAB_00412582
LAB_004124b2: ;XREF[1]: 0041258d(j)
CODE:004124b2 0fbf07 MOVSX EAX,word ptr [EDI]
CODE:004124b5 8bf0 MOV ESI,EAX
CODE:004124b7 c1e602 SHL ESI,0x2
CODE:004124ba 8d34f6 LEA ESI,[ESI + ESI*0x8]
CODE:004124bd 81c610494600 ADD ESI,DATA:BigNode24h_ARRAY_00464910 ;= ??
CODE:004124c3 6a24 PUSH 0x24
CODE:004124c5 56 PUSH ESI
CODE:004124c6 8d45d8 LEA EAX=>node,[EBP + -0x28]
CODE:004124c9 50 PUSH EAX
CODE:004124ca e87dd90300 CALL Memcpy ;void * Memcpy(void * dest, void * sr...
CODE:004124cf 83c40c ADD ESP,0xc
CODE:004124d2 668b45e4 MOV AX,word ptr [EBP + node.flags?0Ch+0x4]
CODE:004124d6 a810 TEST AL,0x10
CODE:004124d8 0f858c000000 JNZ LAB_0041256a
CODE:004124de 66a90601 TEST AX,0x106
CODE:004124e2 0f8482000000 JZ LAB_0041256a
CODE:004124e8 8d45e6 LEA EAX=>node.rect0Eh,[EBP + -0x1a]
CODE:004124eb 50 PUSH EAX
CODE:004124ec e895fbffff CALL FUN_00412086 ;undefined FUN_00412086(void)
CODE:004124f1 59 POP ECX
CODE:004124f2 8d45e6 LEA EAX=>node.rect0Eh,[EBP + -0x1a]
CODE:004124f5 50 PUSH EAX
CODE:004124f6 e861e40100 CALL Draw::DirtyRect ;void DirtyRect(Rect16 * rectOptional)
CODE:004124fb 59 POP ECX
CODE:004124fc 8d45d8 LEA EAX=>node,[EBP + -0x28]
CODE:004124ff 50 PUSH EAX
CODE:00412500 e8122c0200 CALL DlistPrev ;undefined4 DlistPrev(DlistNode * node)
CODE:00412505 59 POP ECX
CODE:00412506 8bd8 MOV EBX,EAX
CODE:00412508 85db TEST EBX,EBX
CODE:0041250a 7427 JZ LAB_00412533
LAB_0041250c: ;XREF[1]: 00412531(j)
CODE:0041250c 8d430e LEA EAX,[EBX + 0xe]
CODE:0041250f 50 PUSH EAX
CODE:00412510 8d45e6 LEA EAX=>node.rect0Eh,[EBP + -0x1a]
CODE:00412513 50 PUSH EAX
CODE:00412514 e8b7fdffff CALL Rect16::intersects ;short intersects(Rect16 * p, Rect16 ...
CODE:00412519 83c408 ADD ESP,0x8
CODE:0041251c 6685c0 TEST intersects,intersects
CODE:0041251f 7405 JZ LAB_00412526
CODE:00412521 66834b0c40 OR word ptr [EBX + 0xc],0x40
LAB_00412526: ;XREF[1]: 0041251f(j)
CODE:00412526 53 PUSH EBX
CODE:00412527 e8eb2b0200 CALL DlistPrev ;undefined4 DlistPrev(DlistNode * node)
CODE:0041252c 59 POP ECX
CODE:0041252d 8bd8 MOV EBX,prev
CODE:0041252f 85db TEST EBX,EBX
CODE:00412531 75d9 JNZ LAB_0041250c
LAB_00412533: ;XREF[1]: 0041250a(j)
CODE:00412533 8d45d8 LEA prev=>node,[EBP + -0x28]
CODE:00412536 50 PUSH prev
CODE:00412537 e8d12b0200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:0041253c 59 POP ECX
CODE:0041253d 8bd8 MOV EBX,next
CODE:0041253f 85db TEST EBX,EBX
CODE:00412541 7427 JZ LAB_0041256a
LAB_00412543: ;XREF[1]: 00412568(j)
CODE:00412543 8d430e LEA next,[EBX + 0xe]
CODE:00412546 50 PUSH next
CODE:00412547 8d45e6 LEA next=>node.rect0Eh,[EBP + -0x1a]
CODE:0041254a 50 PUSH next
CODE:0041254b e880fdffff CALL Rect16::intersects ;short intersects(Rect16 * p, Rect16 ...
CODE:00412550 83c408 ADD ESP,0x8
CODE:00412553 6685c0 TEST next,next
CODE:00412556 7405 JZ LAB_0041255d
CODE:00412558 66834b0c40 OR word ptr [EBX + 0xc],0x40
LAB_0041255d: ;XREF[1]: 00412556(j)
CODE:0041255d 53 PUSH EBX
CODE:0041255e e8aa2b0200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00412563 59 POP ECX
CODE:00412564 8bd8 MOV EBX,next
CODE:00412566 85db TEST EBX,EBX
CODE:00412568 75d9 JNZ LAB_00412543
LAB_0041256a: ;XREF[3]: 004124d8(j),004124e2(j),00412541(j)
CODE:0041256a f645e40a TEST byte ptr [EBP + node.flags?0Ch+0x4],0xa
CODE:0041256e 740b JZ LAB_0041257b
CODE:00412570 56 PUSH ESI
CODE:00412571 e8befeffff CALL BigNode24h::switchLists? ;undefined switchLists?(BigNode24h * ...
CODE:00412576 59 POP ECX
CODE:00412577 66ff45fc INC word ptr [EBP + count+0x4]
LAB_0041257b: ;XREF[1]: 0041256e(j)
CODE:0041257b 66ff45fe INC word ptr [EBP + i+0x4]
CODE:0041257f 83c702 ADD EDI,0x2
LAB_00412582: ;XREF[1]: 004124ad(j)
CODE:00412582 8b4508 MOV next,dword ptr [EBP + this+0x4]
CODE:00412585 668b4058 MOV next,word ptr [next->node.next + 0x58]
CODE:00412589 663b45fe CMP next,word ptr [EBP + i+0x4]
CODE:0041258d 0f8f1fffffff JG LAB_004124b2
CODE:00412593 8b4508 MOV next,dword ptr [EBP + this+0x4]
CODE:00412596 668b55fc MOV DX,word ptr [EBP + count+0x4]
CODE:0041259a 66295058 SUB word ptr [next->node.next + 0x58],DX
CODE:0041259e 5f POP pj
CODE:0041259f 5e POP ESI
CODE:004125a0 5b POP EBX
CODE:004125a1 8be5 MOV ESP,EBP
CODE:004125a3 5d POP EBP
CODE:004125a4 c3 RET
CODE:004125a5 90 ?? 90h
CODE:004125a6 90 ?? 90h
CODE:004125a7 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004125a8(void)
;XREF[1]: 00413730(c)
CODE:004125a8 53 PUSH EBX
CODE:004125a9 56 PUSH ESI
CODE:004125aa 57 PUSH EDI
CODE:004125ab 55 PUSH EBP
CODE:004125ac bdda574600 MOV EBP,DATA:DAT_004657da ;= ??
CODE:004125b1 a120574600 MOV EAX,[DATA:Dlist_00465720] ;= ??
CODE:004125b6 50 PUSH EAX
CODE:004125b7 e82c2b0200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:004125bc 59 POP ECX
CODE:004125bd 8bd8 MOV EBX,EAX
CODE:004125bf 85db TEST EBX,EBX
CODE:004125c1 0f84b5010000 JZ LAB_0041277c
LAB_004125c7: ;XREF[1]: 00412776(j)
CODE:004125c7 668b730c MOV SI,word ptr [EBX + 0xc]
CODE:004125cb 8bfe MOV EDI,ESI
CODE:004125cd 66f7c74500 TEST DI,0x45
CODE:004125d2 0f8493010000 JZ LAB_0041276b
CODE:004125d8 66f7c70002 TEST DI,0x200
CODE:004125dd 742a JZ LAB_00412609
CODE:004125df 668b4500 MOV AX,word ptr [EBP]=>DATA:DAT_004657da ;= ??
CODE:004125e3 66a3ba7d4600 MOV [DATA:DAT_00467dba],AX ;= ??
CODE:004125e9 66034504 ADD AX,word ptr [EBP + 0x4]=>DATA:DAT_004...;= ??
CODE:004125ed 48 DEC EAX
CODE:004125ee 66a3bc7d4600 MOV [DATA:DAT_00467dbc],AX ;= ??
CODE:004125f4 668b4502 MOV AX,word ptr [EBP + 0x2]=>DATA:DAT_004...;= ??
CODE:004125f8 66a3be7d4600 MOV [DATA:DAT_00467dbe],AX ;= ??
CODE:004125fe 66034506 ADD AX,word ptr [EBP + 0x6]=>DATA:DAT_004...;= ??
CODE:00412602 48 DEC EAX
CODE:00412603 66a3c07d4600 MOV [DATA:DAT_00467dc0],AX ;= ??
LAB_00412609: ;XREF[1]: 004125dd(j)
CODE:00412609 837b1600 CMP dword ptr [EBX + 0x16],0x0
CODE:0041260d 0f84df000000 JZ LAB_004126f2
CODE:00412613 66f7c70500 TEST DI,0x5
CODE:00412618 740a JZ LAB_00412624
CODE:0041261a 8d430e LEA EAX,[EBX + 0xe]
CODE:0041261d 50 PUSH EAX
CODE:0041261e e839e30100 CALL Draw::DirtyRect ;void DirtyRect(Rect16 * rectOptional)
CODE:00412623 59 POP ECX
LAB_00412624: ;XREF[1]: 00412618(j)
CODE:00412624 66f7c70004 TEST DI,0x400
CODE:00412629 7408 JZ LAB_00412633
CODE:0041262b 8b4320 MOV EAX,dword ptr [EBX + 0x20]
CODE:0041262e 50 PUSH EAX
CODE:0041262f ff5030 CALL dword ptr [EAX + 0x30]
CODE:00412632 59 POP ECX
LAB_00412633: ;XREF[1]: 00412629(j)
CODE:00412633 8bc6 MOV EAX,ESI
CODE:00412635 25a0000000 AND EAX,0xa0
CODE:0041263a 83e801 SUB EAX,0x1
CODE:0041263d 7211 JC LAB_00412650
CODE:0041263f 83e81f SUB EAX,0x1f
CODE:00412642 743c JZ LAB_00412680
CODE:00412644 83e860 SUB EAX,0x60
CODE:00412647 741f JZ LAB_00412668
CODE:00412649 83e820 SUB EAX,0x20
CODE:0041264c 7448 JZ LAB_00412696
CODE:0041264e eb46 JMP LAB_00412696
LAB_00412650: ;XREF[1]: 0041263d(j)
CODE:00412650 8b4316 MOV EAX,dword ptr [EBX + 0x16]
CODE:00412653 50 PUSH EAX
CODE:00412654 668b4310 MOV AX,word ptr [EBX + 0x10]
CODE:00412658 50 PUSH EAX
CODE:00412659 668b430e MOV AX,word ptr [EBX + 0xe]
CODE:0041265d 50 PUSH EAX
CODE:0041265e e881f3ffff CALL FUN_004119e4 ;undefined FUN_004119e4(void)
CODE:00412663 83c40c ADD ESP,0xc
CODE:00412666 eb2e JMP LAB_00412696
LAB_00412668: ;XREF[1]: 00412647(j)
CODE:00412668 8b4316 MOV EAX,dword ptr [EBX + 0x16]
CODE:0041266b 50 PUSH EAX
CODE:0041266c 668b4310 MOV AX,word ptr [EBX + 0x10]
CODE:00412670 50 PUSH EAX
CODE:00412671 668b430e MOV AX,word ptr [EBX + 0xe]
CODE:00412675 50 PUSH EAX
CODE:00412676 e870f6ffff CALL FUN_00411ceb ;undefined FUN_00411ceb(void)
CODE:0041267b 83c40c ADD ESP,0xc
CODE:0041267e eb16 JMP LAB_00412696
LAB_00412680: ;XREF[1]: 00412642(j)
CODE:00412680 8b4316 MOV EAX,dword ptr [EBX + 0x16]
CODE:00412683 50 PUSH EAX
CODE:00412684 668b431c MOV AX,word ptr [EBX + 0x1c]
CODE:00412688 50 PUSH EAX
CODE:00412689 668b431a MOV AX,word ptr [EBX + 0x1a]
CODE:0041268d 50 PUSH EAX
CODE:0041268e e821ef0100 CALL FUN_004315b4 ;undefined FUN_004315b4(undefined par...
CODE:00412693 83c40c ADD ESP,0xc
LAB_00412696: ;XREF[4]: 0041264c(j),0041264e(j),00412666(j),0041267e(j)
CODE:00412696 66f7c60800 TEST SI,0x8
CODE:0041269b 7455 JZ LAB_004126f2
CODE:0041269d e87eed0100 CALL FUN_00431420 ;undefined FUN_00431420(void)
CODE:004126a2 8bc6 MOV EAX,ESI
CODE:004126a4 25a0000000 AND EAX,0xa0
CODE:004126a9 83e801 SUB EAX,0x1
CODE:004126ac 7211 JC LAB_004126bf
CODE:004126ae 83e81f SUB EAX,0x1f
CODE:004126b1 743a JZ LAB_004126ed
CODE:004126b3 83e860 SUB EAX,0x60
CODE:004126b6 741f JZ LAB_004126d7
CODE:004126b8 83e820 SUB EAX,0x20
CODE:004126bb 7430 JZ LAB_004126ed
CODE:004126bd eb2e JMP LAB_004126ed
LAB_004126bf: ;XREF[1]: 004126ac(j)
CODE:004126bf 8b4316 MOV EAX,dword ptr [EBX + 0x16]
CODE:004126c2 50 PUSH EAX
CODE:004126c3 668b4310 MOV AX,word ptr [EBX + 0x10]
CODE:004126c7 50 PUSH EAX
CODE:004126c8 668b430e MOV AX,word ptr [EBX + 0xe]
CODE:004126cc 50 PUSH EAX
CODE:004126cd e812f3ffff CALL FUN_004119e4 ;undefined FUN_004119e4(void)
CODE:004126d2 83c40c ADD ESP,0xc
CODE:004126d5 eb16 JMP LAB_004126ed
LAB_004126d7: ;XREF[1]: 004126b6(j)
CODE:004126d7 8b4316 MOV EAX,dword ptr [EBX + 0x16]
CODE:004126da 50 PUSH EAX
CODE:004126db 668b4310 MOV AX,word ptr [EBX + 0x10]
CODE:004126df 50 PUSH EAX
CODE:004126e0 668b430e MOV AX,word ptr [EBX + 0xe]
CODE:004126e4 50 PUSH EAX
CODE:004126e5 e801f6ffff CALL FUN_00411ceb ;undefined FUN_00411ceb(void)
CODE:004126ea 83c40c ADD ESP,0xc
LAB_004126ed: ;XREF[4]: 004126b1(j),004126bb(j),004126bd(j),004126d5(j)
CODE:004126ed e8e6ec0100 CALL FUN_004313d8 ;undefined FUN_004313d8(void)
LAB_004126f2: ;XREF[2]: 0041260d(j),0041269b(j)
CODE:004126f2 66f7c60008 TEST SI,0x800
CODE:004126f7 740b JZ LAB_00412704
CODE:004126f9 8d430e LEA EAX,[EBX + 0xe]
CODE:004126fc 50 PUSH EAX
CODE:004126fd 8b4320 MOV EAX,dword ptr [EBX + 0x20]
CODE:00412700 ff5036 CALL dword ptr [EAX + 0x36]
CODE:00412703 59 POP ECX
LAB_00412704: ;XREF[1]: 004126f7(j)
CODE:00412704 66f7c61000 TEST SI,0x10
CODE:00412709 7534 JNZ LAB_0041273f
CODE:0041270b 53 PUSH EBX
CODE:0041270c e8fc290200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00412711 59 POP ECX
CODE:00412712 8bf8 MOV EDI,EAX
CODE:00412714 85ff TEST EDI,EDI
CODE:00412716 7427 JZ LAB_0041273f
LAB_00412718: ;XREF[1]: 0041273d(j)
CODE:00412718 8d470e LEA EAX,[EDI + 0xe]
CODE:0041271b 50 PUSH EAX
CODE:0041271c 8d430e LEA EAX,[EBX + 0xe]
CODE:0041271f 50 PUSH EAX
CODE:00412720 e8abfbffff CALL Rect16::intersects ;short intersects(Rect16 * p, Rect16 ...
CODE:00412725 83c408 ADD ESP,0x8
CODE:00412728 6685c0 TEST AX,AX
CODE:0041272b 7405 JZ LAB_00412732
CODE:0041272d 66834f0c40 OR word ptr [EDI + 0xc],0x40
LAB_00412732: ;XREF[1]: 0041272b(j)
CODE:00412732 57 PUSH EDI
CODE:00412733 e8d5290200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00412738 59 POP ECX
CODE:00412739 8bf8 MOV EDI,EAX
CODE:0041273b 85ff TEST EDI,EDI
CODE:0041273d 75d9 JNZ LAB_00412718
LAB_0041273f: ;XREF[2]: 00412709(j),00412716(j)
CODE:0041273f 66f7c60002 TEST SI,0x200
CODE:00412744 7420 JZ LAB_00412766
CODE:00412746 33c0 XOR EAX,EAX
CODE:00412748 66a3be7d4600 MOV [DATA:DAT_00467dbe],AX ;= ??
CODE:0041274e 66a3ba7d4600 MOV [DATA:DAT_00467dba],AX ;= ??
CODE:00412754 66c705bc7... MOV word ptr [DATA:DAT_00467dbc],0x1ff ;= ??
CODE:0041275d 66c705c07... MOV word ptr [DATA:DAT_00467dc0],0x17f ;= ??
LAB_00412766: ;XREF[1]: 00412744(j)
CODE:00412766 6683630cba AND word ptr [EBX + 0xc],0xffba
LAB_0041276b: ;XREF[1]: 004125d2(j)
CODE:0041276b 53 PUSH EBX
CODE:0041276c e89c290200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00412771 59 POP ECX
CODE:00412772 8bd8 MOV EBX,EAX
CODE:00412774 85db TEST EBX,EBX
CODE:00412776 0f854bfeffff JNZ LAB_004125c7
LAB_0041277c: ;XREF[1]: 004125c1(j)
CODE:0041277c 5d POP EBP
CODE:0041277d 5f POP EDI
CODE:0041277e 5e POP ESI
CODE:0041277f 5b POP EBX
CODE:00412780 c3 RET
CODE:00412781 90 ?? 90h
CODE:00412782 90 ?? 90h
CODE:00412783 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00412784(void)
;XREF[21]: 00410ec4(c),004198b3(c),004198d9(c),00419b52(c),
; 00419c62(c),00421bbf(c),00421bf8(c),00421c09(c),
; 00425fd5(c),00425fe6(c),00427667(c),00427678(c),
; 0042bdf0(c),0042be06(c),0042be83(c),0042f1fb(c),
; 0042f20c(c),0043efa7(c),0043fd9c(c),0044c402(c),
; 0044c70b(c)
CODE:00412784 53 PUSH EBX
CODE:00412785 e89a120000 CALL FUN_00413a24 ;undefined FUN_00413a24(void)
CODE:0041278a e875080000 CALL DoSomethingBig ;undefined DoSomethingBig(void)
CODE:0041278f e828e40100 CALL FUN_00430bbc ;undefined4 FUN_00430bbc(void)
CODE:00412794 8bd8 MOV EBX,EAX
CODE:00412796 6a01 PUSH 0x1
CODE:00412798 e88f120000 CALL FUN_00413a2c ;undefined FUN_00413a2c(undefined par...
CODE:0041279d 59 POP ECX
CODE:0041279e 8bc3 MOV EAX,EBX
CODE:004127a0 5b POP EBX
CODE:004127a1 c3 RET
CODE:004127a2 90 ?? 90h
CODE:004127a3 90 ?? 90h
CODE:004127a4 66 ?? 66h f
CODE:004127a5 83 ?? 83h
CODE:004127a6 3d ?? 3Dh =
CODE:004127a7 68 ?? 68h h ;? -> 00460268
CODE:004127a8 02 ?? 02h
CODE:004127a9 46 ?? 46h F
CODE:004127aa 00 ?? 00h
CODE:004127ab 00 ?? 00h
CODE:004127ac 75 ?? 75h u
CODE:004127ad 0d ?? 0Dh
CODE:004127ae e8 ?? E8h
CODE:004127af 71 ?? 71h q
CODE:004127b0 12 ?? 12h
CODE:004127b1 00 ?? 00h
CODE:004127b2 00 ?? 00h
CODE:004127b3 6a ?? 6Ah j
CODE:004127b4 00 ?? 00h
CODE:004127b5 e8 ?? E8h
CODE:004127b6 72 ?? 72h r
CODE:004127b7 12 ?? 12h
CODE:004127b8 00 ?? 00h
CODE:004127b9 00 ?? 00h
CODE:004127ba 59 ?? 59h Y
CODE:004127bb c3 ?? C3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004127bc(void)
;XREF[1]: 00430042(c)
CODE:004127bc 53 PUSH EBX
CODE:004127bd 56 PUSH ESI
CODE:004127be 66833d580... CMP word ptr [DATA:DAT_00460258],0x0
CODE:004127c6 0f85f9000000 JNZ LAB_004128c5
CODE:004127cc e8212b0200 CALL DlistNew ;Dlist * DlistNew(void)
CODE:004127d1 a30c494600 MOV [DATA:Dlist_0046490c],EAX ;= ??
CODE:004127d6 e8172b0200 CALL DlistNew ;Dlist * DlistNew(void)
CODE:004127db a32c574600 MOV [DATA:Dlist_0046572c],EAX ;= ??
CODE:004127e0 e80d2b0200 CALL DlistNew ;Dlist * DlistNew(void)
CODE:004127e5 a320574600 MOV [DATA:Dlist_00465720],EAX ;= ??
CODE:004127ea e8032b0200 CALL DlistNew ;Dlist * DlistNew(void)
CODE:004127ef a324574600 MOV [DATA:Dlist_00465724],EAX ;= ??
CODE:004127f4 e8f92a0200 CALL DlistNew ;Dlist * DlistNew(void)
CODE:004127f9 a328574600 MOV [DATA:Dlist_00465728],EAX ;= ??
CODE:004127fe e8ef2a0200 CALL DlistNew ;Dlist * DlistNew(void)
CODE:00412803 a330574600 MOV [DATA:Dlist_00465730],EAX ;= ??
CODE:00412808 e8e52a0200 CALL DlistNew ;Dlist * DlistNew(void)
CODE:0041280d a334574600 MOV [DATA:Dlist_00465734],EAX ;= ??
CODE:00412812 33db XOR EBX,EBX
CODE:00412814 b844574600 MOV EAX,DATA:DAT_00465744 ;= ??
LAB_00412819: ;XREF[1]: 0041282a(j)
; FWD[2]: 00465744(W),00465754(W)
CODE:00412819 668918 MOV word ptr [EAX]=>DATA:DAT_00465744,BX ;= ??
; FWD[2]: 00465746(W),00465756(W)
CODE:0041281c 66c740020000 MOV word ptr [EAX + ...,0x0 ;= ??
CODE:00412822 43 INC EBX
CODE:00412823 83c010 ADD EAX,0x10
CODE:00412826 6683fb0a CMP BX,0xa
CODE:0041282a 7ced JL LAB_00412819
CODE:0041282c be10494600 MOV ESI,DATA:BigNode24h_ARRAY_00464910 ;= ??
CODE:00412831 33db XOR EBX,EBX
LAB_00412833: ;XREF[1]: 00412859(j)
; FWD[2]: 00464918(W),0046493c(W)
CODE:00412833 66895e08 MOV word ptr [ESI + ...,BX ;= ??
; FWD[2]: 0046491c(W),00464940(W)
CODE:00412837 66c7460c0000 MOV word ptr [ESI + ...,0x0 ;= ??
CODE:0041283d 68ffff0000 PUSH 0xffff
; FWD[2]: 00464910(*),00464934(*)
CODE:00412842 56 PUSH ESI=>DATA:BigNode24h_ARRAY_00464910 ;= ??
CODE:00412843 a124574600 MOV EAX,[DATA:Dlist_00465724] ;= ??
CODE:00412848 50 PUSH EAX
CODE:00412849 e879290200 CALL DlistInsert ;void DlistInsert(Dlist * list, Dlist...
CODE:0041284e 83c40c ADD ESP,0xc
CODE:00412851 83c624 ADD ESI,0x24
CODE:00412854 43 INC EBX
CODE:00412855 6683fb64 CMP BX,0x64
CODE:00412859 7cd8 JL LAB_00412833
CODE:0041285b e8b5a10300 CALL FUN_0044ca15 ;undefined2 FUN_0044ca15(void)
CODE:00412860 66a3d8574600 MOV [DATA:DAT_004657d8],AX ;= ??
CODE:00412866 66a1c07d4600 MOV AX,[DATA:DAT_00467dc0] ;= ??
CODE:0041286c 50 PUSH EAX
CODE:0041286d 66a1bc7d4600 MOV AX,[DATA:DAT_00467dbc] ;= ??
CODE:00412873 50 PUSH EAX
CODE:00412874 66a1be7d4600 MOV AX,[DATA:DAT_00467dbe] ;= ??
CODE:0041287a 50 PUSH EAX
CODE:0041287b 66a1ba7d4600 MOV AX,[DATA:DAT_00467dba] ;= ??
CODE:00412881 50 PUSH EAX
CODE:00412882 68e2574600 PUSH DATA:DAT_004657e2 ;= ??
CODE:00412887 e8fc110000 CALL FUN_00413a88 ;void FUN_00413a88(undefined4 param_1...
CODE:0041288c 83c414 ADD ESP,0x14
CODE:0041288f 66a1c07d4600 MOV AX,[DATA:DAT_00467dc0] ;= ??
CODE:00412895 50 PUSH EAX
CODE:00412896 66a1bc7d4600 MOV AX,[DATA:DAT_00467dbc] ;= ??
CODE:0041289c 50 PUSH EAX
CODE:0041289d 66a1be7d4600 MOV AX,[DATA:DAT_00467dbe] ;= ??
CODE:004128a3 50 PUSH EAX
CODE:004128a4 66a1ba7d4600 MOV AX,[DATA:DAT_00467dba] ;= ??
CODE:004128aa 50 PUSH EAX
CODE:004128ab e81c120000 CALL FUN_00413acc ;void FUN_00413acc(undefined2 param_1...
CODE:004128b0 83c410 ADD ESP,0x10
CODE:004128b3 66c705680... MOV word ptr [DATA:DAT_00460268],0x0 ;= 0001h
CODE:004128bc 66c705580... MOV word ptr [DATA:DAT_00460258],0x1
LAB_004128c5: ;XREF[1]: 004127c6(j)
CODE:004128c5 5e POP ESI
CODE:004128c6 5b POP EBX
CODE:004128c7 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004128c8(void)
;XREF[1]: 0042ffa9(c)
CODE:004128c8 53 PUSH EBX
CODE:004128c9 56 PUSH ESI
CODE:004128ca 66833d580... CMP word ptr [DATA:DAT_00460258],0x0
CODE:004128d2 0f84bb000000 JZ LAB_00412993
CODE:004128d8 e847110000 CALL FUN_00413a24 ;undefined FUN_00413a24(void)
CODE:004128dd a12c574600 MOV EAX,[DATA:Dlist_0046572c] ;= ??
CODE:004128e2 50 PUSH EAX
CODE:004128e3 e800280200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:004128e8 59 POP ECX
CODE:004128e9 8bd8 MOV EBX,EAX
CODE:004128eb 85db TEST EBX,EBX
CODE:004128ed 7420 JZ LAB_0041290f
LAB_004128ef: ;XREF[1]: 0041290d(j)
CODE:004128ef 53 PUSH EBX
CODE:004128f0 e818280200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:004128f5 59 POP ECX
CODE:004128f6 8bf0 MOV ESI,EAX
CODE:004128f8 8b4308 MOV EAX,dword ptr [EBX + 0x8]
CODE:004128fb 50 PUSH EAX
CODE:004128fc e8012a0200 CALL PoolFreeIfNotNull ;undefined PoolFreeIfNotNull(undefine...
CODE:00412901 59 POP ECX
CODE:00412902 53 PUSH EBX
CODE:00412903 e8b2990200 CALL PoolFree ;undefined PoolFree(void * object)
CODE:00412908 59 POP ECX
CODE:00412909 8bde MOV EBX,ESI
CODE:0041290b 85db TEST EBX,EBX
CODE:0041290d 75e0 JNZ LAB_004128ef
LAB_0041290f: ;XREF[1]: 004128ed(j)
CODE:0041290f a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:00412914 50 PUSH EAX
CODE:00412915 e8ce270200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:0041291a 59 POP ECX
CODE:0041291b 85c0 TEST EAX,EAX
CODE:0041291d 7417 JZ LAB_00412936
LAB_0041291f: ;XREF[1]: 00412934(j)
CODE:0041291f 50 PUSH EAX
CODE:00412920 e8e7030000 CALL FUN_00412d0c ;undefined4 FUN_00412d0c(uint param_1...
CODE:00412925 59 POP ECX
CODE:00412926 a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:0041292b 50 PUSH EAX
CODE:0041292c e8b7270200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:00412931 59 POP ECX
CODE:00412932 85c0 TEST EAX,EAX
CODE:00412934 75e9 JNZ LAB_0041291f
LAB_00412936: ;XREF[1]: 0041291d(j)
CODE:00412936 a12c574600 MOV EAX,[DATA:Dlist_0046572c] ;= ??
CODE:0041293b 50 PUSH EAX
CODE:0041293c e8c1290200 CALL PoolFreeIfNotNull ;undefined PoolFreeIfNotNull(undefine...
CODE:00412941 59 POP ECX
CODE:00412942 a124574600 MOV EAX,[DATA:Dlist_00465724] ;= ??
CODE:00412947 50 PUSH EAX
CODE:00412948 e8b5290200 CALL PoolFreeIfNotNull ;undefined PoolFreeIfNotNull(undefine...
CODE:0041294d 59 POP ECX
CODE:0041294e a120574600 MOV EAX,[DATA:Dlist_00465720] ;= ??
CODE:00412953 50 PUSH EAX
CODE:00412954 e8a9290200 CALL PoolFreeIfNotNull ;undefined PoolFreeIfNotNull(undefine...
CODE:00412959 59 POP ECX
CODE:0041295a a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:0041295f 50 PUSH EAX
CODE:00412960 e89d290200 CALL PoolFreeIfNotNull ;undefined PoolFreeIfNotNull(undefine...
CODE:00412965 59 POP ECX
CODE:00412966 a10c494600 MOV EAX,[DATA:Dlist_0046490c] ;= ??
CODE:0041296b 50 PUSH EAX
CODE:0041296c e891290200 CALL PoolFreeIfNotNull ;undefined PoolFreeIfNotNull(undefine...
CODE:00412971 59 POP ECX
CODE:00412972 a130574600 MOV EAX,[DATA:Dlist_00465730] ;= ??
CODE:00412977 50 PUSH EAX
CODE:00412978 e885290200 CALL PoolFreeIfNotNull ;undefined PoolFreeIfNotNull(undefine...
CODE:0041297d 59 POP ECX
CODE:0041297e a134574600 MOV EAX,[DATA:Dlist_00465734] ;= ??
CODE:00412983 50 PUSH EAX
CODE:00412984 e879290200 CALL PoolFreeIfNotNull ;undefined PoolFreeIfNotNull(undefine...
CODE:00412989 59 POP ECX
CODE:0041298a 66c705580... MOV word ptr [DATA:DAT_00460258],0x0
LAB_00412993: ;XREF[1]: 004128d2(j)
CODE:00412993 5e POP ESI
CODE:00412994 5b POP EBX
CODE:00412995 c3 RET
CODE:00412996 90 ?? 90h
CODE:00412997 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412998(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined2 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined2 0043cf94(c),0043cfa6(c),00443f01(c),0044db66(c),
; 0044db77(c)
CODE:00412998 55 PUSH EBP
CODE:00412999 8bec MOV EBP,ESP
CODE:0041299b 53 PUSH EBX
CODE:0041299c 56 PUSH ESI
CODE:0041299d 8b5d08 MOV EBX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:004129a0 33f6 XOR ESI,ESI
CODE:004129a2 66837b1a00 CMP word ptr [EBX + 0x1a],0x0
CODE:004129a7 740b JZ LAB_004129b4
CODE:004129a9 53 PUSH EBX
CODE:004129aa e855050000 CALL BigThing6Eh::processNodes? ;void processNodes?(undefined4 this)
CODE:004129af 59 POP ECX
CODE:004129b0 66be0100 MOV SI,0x1
LAB_004129b4: ;XREF[1]: 004129a7(j)
CODE:004129b4 668b450c MOV AX,word ptr [EBP + Stack[0x8]+0x4]
CODE:004129b8 50 PUSH EAX
CODE:004129b9 53 PUSH EBX
CODE:004129ba e815000000 CALL FUN_004129d4 ;undefined FUN_004129d4(undefined4 pa...
CODE:004129bf 83c408 ADD ESP,0x8
CODE:004129c2 6685f6 TEST SI,SI
CODE:004129c5 7407 JZ LAB_004129ce
CODE:004129c7 53 PUSH EBX
CODE:004129c8 e84b040000 CALL FUN_00412e18 ;undefined FUN_00412e18(undefined4 pa...
CODE:004129cd 59 POP ECX
LAB_004129ce: ;XREF[1]: 004129c5(j)
CODE:004129ce 5e POP ESI
CODE:004129cf 5b POP EBX
CODE:004129d0 5d POP EBP
CODE:004129d1 c3 RET
CODE:004129d2 90 ?? 90h
CODE:004129d3 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004129d4(undefined4 param_1, undefined2 param_2)
;param_1 undefined4 4 ;XREF[1]: 004129da(R)
;param_2 undefined2 8 ;XREF[1]: 004129d7(R)
;XREF[21]: 004129ba(c),00412c91(c),0041451f(c),00415df6(c),
; 004168a9(c),00416970(c),004169d8(c),00419620(c),
; 0041964e(c),004277fe(c),0042a7d6(c),0042a8b3(c),
; 0042a9cc(c),0042aaa5(c),0042c44a(c),0042c471(c),
; 0042cdb8(c),0042cea5(c),0042cf92(c),004400ca(c),
; 0044c5f5(c)
CODE:004129d4 55 PUSH EBP
CODE:004129d5 8bec MOV EBP,ESP
CODE:004129d7 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
CODE:004129da 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
CODE:004129dd 85c0 TEST EAX,EAX
CODE:004129df 7442 JZ LAB_00412a23
CODE:004129e1 8b5026 MOV EDX,dword ptr [EAX + 0x26]
CODE:004129e4 85d2 TEST EDX,EDX
CODE:004129e6 743b JZ LAB_00412a23
CODE:004129e8 6685c9 TEST CX,CX
CODE:004129eb 7d1a JGE LAB_00412a07
CODE:004129ed 83787000 CMP dword ptr [EAX + 0x70],0x0
CODE:004129f1 7430 JZ LAB_00412a23
CODE:004129f3 66c7400effff MOV word ptr [EAX + 0xe],0xffff
CODE:004129f9 8b5070 MOV EDX,dword ptr [EAX + 0x70]
CODE:004129fc 89502a MOV dword ptr [EAX + 0x2a],EDX
CODE:004129ff 66c740100000 MOV word ptr [EAX + 0x10],0x0
CODE:00412a05 5d POP EBP
CODE:00412a06 c3 RET
LAB_00412a07: ;XREF[1]: 004129eb(j)
CODE:00412a07 663b4a08 CMP CX,word ptr [EDX + 0x8]
CODE:00412a0b 7d16 JGE LAB_00412a23
CODE:00412a0d 6689480e MOV word ptr [EAX + 0xe],CX
CODE:00412a11 0fbfc9 MOVSX ECX,CX
CODE:00412a14 8b521a MOV EDX,dword ptr [EDX + 0x1a]
CODE:00412a17 8b148a MOV EDX,dword ptr [EDX + ECX*0x4]
CODE:00412a1a 89502a MOV dword ptr [EAX + 0x2a],EDX
CODE:00412a1d 66c740100000 MOV word ptr [EAX + 0x10],0x0
LAB_00412a23: ;XREF[4]: 004129df(j),004129e6(j),004129f1(j),00412a0b(j)
CODE:00412a23 5d POP EBP
CODE:00412a24 c3 RET
CODE:00412a25 90 ?? 90h
CODE:00412a26 90 ?? 90h
CODE:00412a27 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void FUN_00412a28(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1]: 00412a2d(R)
;XREF[4]: 00412cfc(c),00412ddb(c),00412e83(c),00412ecf(c)
CODE:00412a28 55 PUSH EBP
CODE:00412a29 8bec MOV EBP,ESP
CODE:00412a2b 53 PUSH EBX
CODE:00412a2c 56 PUSH ESI
CODE:00412a2d 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
CODE:00412a30 8b5e2a MOV EBX,dword ptr [ESI + 0x2a]
CODE:00412a33 eb37 JMP LAB_00412a6c
LAB_00412a35: ;XREF[1]: 00412a79(j)
CODE:00412a35 6683f8fa CMP AX,-0x6
CODE:00412a39 752e JNZ LAB_00412a69
CODE:00412a3b 668b03 MOV AX,word ptr [EBX]
CODE:00412a3e 663d0080 CMP AX,0x8000
CODE:00412a42 7404 JZ LAB_00412a48
CODE:00412a44 66894608 MOV word ptr [ESI + 0x8],AX
LAB_00412a48: ;XREF[1]: 00412a42(j)
CODE:00412a48 668b4302 MOV AX,word ptr [EBX + 0x2]
CODE:00412a4c 663d0080 CMP AX,0x8000
CODE:00412a50 7404 JZ LAB_00412a56
CODE:00412a52 6689460a MOV word ptr [ESI + 0xa],AX
LAB_00412a56: ;XREF[1]: 00412a50(j)
CODE:00412a56 668b4306 MOV AX,word ptr [EBX + 0x6]
CODE:00412a5a 6689460c MOV word ptr [ESI + 0xc],AX
CODE:00412a5e 6685c0 TEST AX,AX
CODE:00412a61 7d06 JGE LAB_00412a69
CODE:00412a63 66c7460c0000 MOV word ptr [ESI + 0xc],0x0
LAB_00412a69: ;XREF[2]: 00412a39(j),00412a61(j)
CODE:00412a69 83c308 ADD EBX,0x8
LAB_00412a6c: ;XREF[1]: 00412a33(j)
CODE:00412a6c 668b4304 MOV AX,word ptr [EBX + 0x4]
CODE:00412a70 6685c0 TEST AX,AX
CODE:00412a73 7d06 JGE LAB_00412a7b
CODE:00412a75 6683f8ff CMP AX,-0x1
CODE:00412a79 75ba JNZ LAB_00412a35
LAB_00412a7b: ;XREF[1]: 00412a73(j)
CODE:00412a7b 66837b0400 CMP word ptr [EBX + 0x4],0x0
CODE:00412a80 7c3b JL LAB_00412abd
CODE:00412a82 668b4608 MOV AX,word ptr [ESI + 0x8]
CODE:00412a86 660303 ADD AX,word ptr [EBX]
CODE:00412a89 6689463a MOV word ptr [ESI + 0x3a],AX
CODE:00412a8d 668b460a MOV AX,word ptr [ESI + 0xa]
CODE:00412a91 66034302 ADD AX,word ptr [EBX + 0x2]
CODE:00412a95 6689463c MOV word ptr [ESI + 0x3c],AX
CODE:00412a99 668b4304 MOV AX,word ptr [EBX + 0x4]
CODE:00412a9d 50 PUSH EAX
CODE:00412a9e 56 PUSH ESI
CODE:00412a9f e8d00c0000 CALL FUN_00413774 ;ushort FUN_00413774(undefined4 param...
CODE:00412aa4 83c408 ADD ESP,0x8
CODE:00412aa7 6689463e MOV word ptr [ESI + 0x3e],AX
CODE:00412aab 668b4304 MOV AX,word ptr [EBX + 0x4]
CODE:00412aaf 50 PUSH EAX
CODE:00412ab0 56 PUSH ESI
CODE:00412ab1 e8de0c0000 CALL FUN_00413794 ;ushort FUN_00413794(undefined4 param...
CODE:00412ab6 83c408 ADD ESP,0x8
CODE:00412ab9 66894640 MOV word ptr [ESI + 0x40],AX
LAB_00412abd: ;XREF[1]: 00412a80(j)
CODE:00412abd 5e POP ESI
CODE:00412abe 5b POP EBX
CODE:00412abf 5d POP EBP
CODE:00412ac0 c3 RET
CODE:00412ac1 90 ?? 90h
CODE:00412ac2 90 ?? 90h
CODE:00412ac3 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00412ac4(ushort param_1)
;param_1 ushort 4 ;XREF[4]: 00412ad4(R),00412bcf(R),00412c50(R),00412c83(R)
;local_6 undefined2 -6 ;XREF[3]: 00412b8c(W),00412bab(R),00412bbc(R)
;local_8 undefined2 -8 ;XREF[6]: 00412b16(W),00412b1a(R),00412b3e(R),00412b73(R),00412b9c(R),
; 00412c00(R)
;local_c undefined4 -c ;XREF[4]: 00412bed(W),00412c22(R),00412c27(W),00412c31(R)
;XREF[21]: 00414458(c),004144ed(c),00414567(c),00414bfd(c),
; 00415d5e(c),00415d76(c),00415e1e(c),0041684a(c),
; 00417edd(c),00417f02(c),00417fc8(c),0041800e(c),
; 00418052(c),0041807a(c),00419938(c),004199d8(c),
; 00419a1a(c),00419b5d(c),0041ad91(c),0041ae05(c),
; 0041ae33(c)
CODE:00412ac4 55 PUSH EBP
CODE:00412ac5 8bec MOV EBP,ESP
CODE:00412ac7 83c4f8 ADD ESP,-0x8
CODE:00412aca 53 PUSH EBX
CODE:00412acb 56 PUSH ESI
CODE:00412acc 57 PUSH EDI
CODE:00412acd 33ff XOR EDI,EDI
CODE:00412acf 686a024600 PUSH DATA:$ASEQ ;= 41h A
CODE:00412ad4 668b4508 MOV AX,word ptr [EBP + param_1+0x4]
CODE:00412ad8 50 PUSH EAX
CODE:00412ad9 e820db0200 CALL Resource::Load ;void * Load(ushort id, LPCSTR fourcc)
CODE:00412ade 83c408 ADD ESP,0x8
CODE:00412ae1 8bf0 MOV ESI,EAX
CODE:00412ae3 66833d382... CMP word ptr [DATA:DAT_00462c38],0x0
CODE:00412aeb 0f854b010000 JNZ LAB_00412c3c
CODE:00412af1 6a32 PUSH 0x32
CODE:00412af3 e87b970200 CALL PoolAlloc ;void * PoolAlloc(uint len)
CODE:00412af8 59 POP ECX
CODE:00412af9 8bd8 MOV EBX,EAX
CODE:00412afb 6a0a PUSH 0xa
CODE:00412afd 56 PUSH ESI
CODE:00412afe 8d4308 LEA EAX,[EBX + 0x8]
CODE:00412b01 50 PUSH EAX
CODE:00412b02 e845d30300 CALL Memcpy ;void * Memcpy(void * dest, void * sr...
CODE:00412b07 83c40c ADD ESP,0xc
CODE:00412b0a 66817b0cff00 CMP word ptr [EBX + 0xc],0xff
CODE:00412b10 0f9cc0 SETL AL
CODE:00412b13 83e001 AND EAX,0x1
CODE:00412b16 668945fc MOV word ptr [EBP + local_8+0x4],AX
CODE:00412b1a 0fbf7dfc MOVSX EDI,word ptr [EBP + local_8+0x4]
CODE:00412b1e 83ff01 CMP EDI,0x1
CODE:00412b21 1bff SBB EDI,EDI
CODE:00412b23 f7df NEG EDI
CODE:00412b25 85ff TEST EDI,EDI
CODE:00412b27 740e JZ LAB_00412b37
CODE:00412b29 6a05 PUSH 0x5
CODE:00412b2b 8d4308 LEA EAX,[EBX + 0x8]
CODE:00412b2e 50 PUSH EAX
CODE:00412b2f e821d20300 CALL ezFUN_0044fd55 ;undefined ezFUN_0044fd55(undefined4 ...
CODE:00412b34 83c408 ADD ESP,0x8
LAB_00412b37: ;XREF[1]: 00412b27(j)
CODE:00412b37 668b430a MOV AX,word ptr [EBX + 0xa]
CODE:00412b3b 83c60a ADD ESI,0xa
CODE:00412b3e 0fbf55fc MOVSX EDX,word ptr [EBP + local_8+0x4]
CODE:00412b42 83fa01 CMP EDX,0x1
CODE:00412b45 1bd2 SBB EDX,EDX
CODE:00412b47 f7da NEG EDX
CODE:00412b49 85ff TEST EDI,EDI
CODE:00412b4b 740a JZ LAB_00412b57
CODE:00412b4d 50 PUSH EAX
CODE:00412b4e 56 PUSH ESI
CODE:00412b4f e85fd20300 CALL ezFUN_0044fdb3 ;undefined ezFUN_0044fdb3(undefined4 ...
CODE:00412b54 83c408 ADD ESP,0x8
LAB_00412b57: ;XREF[1]: 00412b4b(j)
CODE:00412b57 897316 MOV dword ptr [EBX + 0x16],ESI
CODE:00412b5a 0fbf430a MOVSX EAX,word ptr [EBX + 0xa]
CODE:00412b5e c1e002 SHL EAX,0x2
CODE:00412b61 03f0 ADD ESI,EAX
CODE:00412b63 89731a MOV dword ptr [EBX + 0x1a],ESI
CODE:00412b66 0fbf4308 MOVSX EAX,word ptr [EBX + 0x8]
CODE:00412b6a c1e002 SHL EAX,0x2
CODE:00412b6d 03f0 ADD ESI,EAX
CODE:00412b6f 33ff XOR EDI,EDI
CODE:00412b71 eb53 JMP LAB_00412bc6
LAB_00412b73: ;XREF[1]: 00412bca(j)
CODE:00412b73 0fbf45fc MOVSX EAX,word ptr [EBP + local_8+0x4]
CODE:00412b77 83f801 CMP EAX,0x1
CODE:00412b7a 1bc0 SBB EAX,EAX
CODE:00412b7c f7d8 NEG EAX
CODE:00412b7e 85c0 TEST EAX,EAX
CODE:00412b80 7407 JZ LAB_00412b89
CODE:00412b82 56 PUSH ESI
CODE:00412b83 e872d20300 CALL ezFUN_0044fdfa ;undefined ezFUN_0044fdfa(undefined4 ...
CODE:00412b88 59 POP ECX
LAB_00412b89: ;XREF[1]: 00412b80(j)
CODE:00412b89 668b06 MOV AX,word ptr [ESI]
CODE:00412b8c 668945fe MOV word ptr [EBP + local_6+0x4],AX
CODE:00412b90 83c602 ADD ESI,0x2
CODE:00412b93 0fbfc7 MOVSX EAX,DI
CODE:00412b96 8b531a MOV EDX,dword ptr [EBX + 0x1a]
CODE:00412b99 893482 MOV dword ptr [EDX + EAX*0x4],ESI
CODE:00412b9c 0fbf45fc MOVSX EAX,word ptr [EBP + local_8+0x4]
CODE:00412ba0 83f801 CMP EAX,0x1
CODE:00412ba3 1bc0 SBB EAX,EAX
CODE:00412ba5 f7d8 NEG EAX
CODE:00412ba7 85c0 TEST EAX,EAX
CODE:00412ba9 7411 JZ LAB_00412bbc
CODE:00412bab 668b45fe MOV AX,word ptr [EBP + local_6+0x4]
CODE:00412baf c1e002 SHL EAX,0x2
CODE:00412bb2 50 PUSH EAX
CODE:00412bb3 56 PUSH ESI
CODE:00412bb4 e89cd10300 CALL ezFUN_0044fd55 ;undefined ezFUN_0044fd55(undefined4 ...
CODE:00412bb9 83c408 ADD ESP,0x8
LAB_00412bbc: ;XREF[1]: 00412ba9(j)
CODE:00412bbc 0fbf45fe MOVSX EAX,word ptr [EBP + local_6+0x4]
CODE:00412bc0 c1e003 SHL EAX,0x3
CODE:00412bc3 03f0 ADD ESI,EAX
CODE:00412bc5 47 INC EDI
LAB_00412bc6: ;XREF[1]: 00412b71(j)
CODE:00412bc6 663b7b08 CMP DI,word ptr [EBX + 0x8]
CODE:00412bca 7ca7 JL LAB_00412b73
CODE:00412bcc 897312 MOV dword ptr [EBX + 0x12],ESI
CODE:00412bcf 668b4508 MOV AX,word ptr [EBP + param_1+0x4]
CODE:00412bd3 66894322 MOV word ptr [EBX + 0x22],AX
CODE:00412bd7 68ffff0000 PUSH 0xffff
CODE:00412bdc 53 PUSH EBX
CODE:00412bdd a10c494600 MOV EAX,[DATA:Dlist_0046490c] ;= ??
CODE:00412be2 50 PUSH EAX
CODE:00412be3 e8df250200 CALL DlistInsert ;void DlistInsert(Dlist * list, Dlist...
CODE:00412be8 83c40c ADD ESP,0xc
CODE:00412beb 33c0 XOR EAX,EAX
CODE:00412bed 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
CODE:00412bf0 33ff XOR EDI,EDI
CODE:00412bf2 eb37 JMP LAB_00412c2b
LAB_00412bf4: ;XREF[1]: 00412c2f(j)
CODE:00412bf4 0fbfc7 MOVSX EAX,DI
CODE:00412bf7 8b5316 MOV EDX,dword ptr [EBX + 0x16]
CODE:00412bfa 8b3482 MOV ESI,dword ptr [EDX + EAX*0x4]
CODE:00412bfd 037312 ADD ESI,dword ptr [EBX + 0x12]
CODE:00412c00 66837dfc00 CMP word ptr [EBP + local_8+0x4],0x0
CODE:00412c05 750b JNZ LAB_00412c12
CODE:00412c07 6a03 PUSH 0x3
CODE:00412c09 56 PUSH ESI
CODE:00412c0a e846d10300 CALL ezFUN_0044fd55 ;undefined ezFUN_0044fd55(undefined4 ...
CODE:00412c0f 83c408 ADD ESP,0x8
LAB_00412c12: ;XREF[1]: 00412c05(j)
CODE:00412c12 668b4602 MOV AX,word ptr [ESI + 0x2]
CODE:00412c16 668b5604 MOV DX,word ptr [ESI + 0x4]
CODE:00412c1a 0fbfc0 MOVSX EAX,AX
CODE:00412c1d 0fbfd2 MOVSX EDX,DX
CODE:00412c20 f7ea IMUL EDX
CODE:00412c22 3b45f8 CMP EAX,dword ptr [EBP + local_c+0x4]
CODE:00412c25 7603 JBE LAB_00412c2a
CODE:00412c27 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
LAB_00412c2a: ;XREF[1]: 00412c25(j)
CODE:00412c2a 47 INC EDI
LAB_00412c2b: ;XREF[1]: 00412bf2(j)
CODE:00412c2b 663b7b0a CMP DI,word ptr [EBX + 0xa]
CODE:00412c2f 7cc3 JL LAB_00412bf4
CODE:00412c31 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
CODE:00412c34 83c008 ADD EAX,0x8
CODE:00412c37 894324 MOV dword ptr [EBX + 0x24],EAX
CODE:00412c3a eb2a JMP LAB_00412c66
LAB_00412c3c: ;XREF[1]: 00412aeb(j)
CODE:00412c3c a10c494600 MOV EAX,[DATA:Dlist_0046490c] ;= ??
CODE:00412c41 50 PUSH EAX
CODE:00412c42 e8a1240200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:00412c47 59 POP ECX
CODE:00412c48 8bd8 MOV EBX,EAX
CODE:00412c4a eb15 JMP LAB_00412c61
LAB_00412c4c: ;XREF[1]: 00412c64(j)
CODE:00412c4c 0fb74322 MOVZX EAX,word ptr [EBX + 0x22]
CODE:00412c50 0fbf5508 MOVSX EDX,word ptr [EBP + param_1+0x4]
CODE:00412c54 3bc2 CMP EAX,EDX
CODE:00412c56 740e JZ LAB_00412c66
CODE:00412c58 53 PUSH EBX
CODE:00412c59 e8af240200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00412c5e 59 POP ECX
CODE:00412c5f 8bd8 MOV EBX,EAX
LAB_00412c61: ;XREF[1]: 00412c4a(j)
CODE:00412c61 6685ff TEST DI,DI
CODE:00412c64 74e6 JZ LAB_00412c4c
LAB_00412c66: ;XREF[2]: 00412c3a(j),00412c56(j)
CODE:00412c66 6a78 PUSH 0x78
CODE:00412c68 e806960200 CALL PoolAlloc ;void * PoolAlloc(uint len)
CODE:00412c6d 59 POP ECX
CODE:00412c6e 8bf0 MOV ESI,EAX
CODE:00412c70 6a78 PUSH 0x78
CODE:00412c72 6a00 PUSH 0x0
CODE:00412c74 56 PUSH ESI
CODE:00412c75 e842d20300 CALL Memset ;void * Memset(void * result, byte va...
CODE:00412c7a 83c40c ADD ESP,0xc
CODE:00412c7d 66c746180100 MOV word ptr [ESI + 0x18],0x1
CODE:00412c83 668b4508 MOV AX,word ptr [EBP + param_1+0x4]
CODE:00412c87 66894642 MOV word ptr [ESI + 0x42],AX
CODE:00412c8b 895e26 MOV dword ptr [ESI + 0x26],EBX
CODE:00412c8e 6a00 PUSH 0x0
CODE:00412c90 56 PUSH ESI
CODE:00412c91 e83efdffff CALL FUN_004129d4 ;undefined FUN_004129d4(undefined4 pa...
CODE:00412c96 83c408 ADD ESP,0x8
CODE:00412c99 85db TEST EBX,EBX
CODE:00412c9b 741f JZ LAB_00412cbc
CODE:00412c9d 66837b1008 CMP word ptr [EBX + 0x10],0x8
CODE:00412ca2 7e18 JLE LAB_00412cbc
CODE:00412ca4 66c746560100 MOV word ptr [ESI + 0x56],0x1
CODE:00412caa 0fbf4310 MOVSX EAX,word ptr [EBX + 0x10]
CODE:00412cae 03c0 ADD EAX,EAX
CODE:00412cb0 50 PUSH EAX
CODE:00412cb1 e8bd950200 CALL PoolAlloc ;void * PoolAlloc(uint len)
CODE:00412cb6 59 POP ECX
CODE:00412cb7 89466a MOV dword ptr [ESI + 0x6a],EAX
CODE:00412cba eb0c JMP LAB_00412cc8
LAB_00412cbc: ;XREF[2]: 00412c9b(j),00412ca2(j)
CODE:00412cbc 66c746560000 MOV word ptr [ESI + 0x56],0x0
CODE:00412cc2 8d465a LEA EAX,[ESI + 0x5a]
CODE:00412cc5 89466a MOV dword ptr [ESI + 0x6a],EAX
LAB_00412cc8: ;XREF[1]: 00412cba(j)
CODE:00412cc8 66c746120000 MOV word ptr [ESI + 0x12],0x0
CODE:00412cce 668b4b0c MOV CX,word ptr [EBX + 0xc]
CODE:00412cd2 6685c9 TEST CX,CX
CODE:00412cd5 7413 JZ LAB_00412cea
CODE:00412cd7 0fbf05d85... MOVSX EAX,word ptr [DATA:DAT_004657d8] ;= ??
CODE:00412cde 0fbfd1 MOVSX EDX,CX
CODE:00412ce1 8bca MOV ECX,EDX
CODE:00412ce3 99 CDQ
CODE:00412ce4 f7f9 IDIV ECX
CODE:00412ce6 66894612 MOV word ptr [ESI + 0x12],AX
LAB_00412cea: ;XREF[1]: 00412cd5(j)
CODE:00412cea 66a15a024600 MOV AX,[DATA:DAT_0046025a]
CODE:00412cf0 66894620 MOV word ptr [ESI + 0x20],AX
CODE:00412cf4 66ff055a0... INC word ptr [DATA:DAT_0046025a]
CODE:00412cfb 56 PUSH ESI
CODE:00412cfc e827fdffff CALL FUN_00412a28 ;void FUN_00412a28(undefined4 param_1)
CODE:00412d01 59 POP ECX
CODE:00412d02 8bc6 MOV EAX,ESI
CODE:00412d04 5f POP EDI
CODE:00412d05 5e POP ESI
CODE:00412d06 5b POP EBX
CODE:00412d07 59 POP ECX
CODE:00412d08 59 POP ECX
CODE:00412d09 5d POP EBP
CODE:00412d0a c3 RET
CODE:00412d0b 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00412d0c(uint param_1, undefined4 param_2, uint param_3, uint param_4)
;param_1 uint EAX
;param_2 undefined4 EDX
;param_3 uint ECX
;param_4 uint 4 ;XREF[1]: 00412d10(R)
;XREF[21]: 00412da3(c),004144c0(c),00414606(c),00414631(c),
; 00414675(c),00414ad5(c),00415e70(c),00415e8b(c),
; 0041687e(c),00417ef7(c),00417fe2(c),0041802b(c),
; 0041806f(c),00418097(c),004180a3(c),00419a69(c),
; 00419a7c(c),00419a88(c),00419cd9(c),0041adb6(c),
; 004202c7(c)
CODE:00412d0c 55 PUSH EBP
CODE:00412d0d 8bec MOV EBP,ESP
CODE:00412d0f 53 PUSH EBX
CODE:00412d10 8b5d08 MOV EBX,dword ptr [EBP + param_4+0x4]
CODE:00412d13 85db TEST EBX,EBX
CODE:00412d15 7465 JZ LAB_00412d7c
CODE:00412d17 66837b1a00 CMP word ptr [EBX + 0x1a],0x0
CODE:00412d1c 7407 JZ LAB_00412d25
CODE:00412d1e 53 PUSH EBX
CODE:00412d1f e8e0010000 CALL BigThing6Eh::processNodes? ;void processNodes?(undefined4 this)
CODE:00412d24 59 POP param_3
LAB_00412d25: ;XREF[1]: 00412d1c(j)
CODE:00412d25 686f024600 PUSH DATA:$ASEQ_ ;= 41h A
CODE:00412d2a 668b4342 MOV param_1,word ptr [EBX + 0x42]
CODE:00412d2e 50 PUSH param_1
CODE:00412d2f e861d90200 CALL FUN_00440695 ;undefined FUN_00440695(short param_1...
CODE:00412d34 83c408 ADD ESP,0x8
CODE:00412d37 66837b5600 CMP word ptr [EBX + 0x56],0x0
CODE:00412d3c 740a JZ LAB_00412d48
CODE:00412d3e 8b436a MOV param_1,dword ptr [EBX + 0x6a]
CODE:00412d41 50 PUSH param_1
CODE:00412d42 e873950200 CALL PoolFree ;undefined PoolFree(void * object)
CODE:00412d47 59 POP param_3
LAB_00412d48: ;XREF[1]: 00412d3c(j)
CODE:00412d48 66833d382... CMP word ptr [DATA:DAT_00462c38],0x0
CODE:00412d50 751c JNZ LAB_00412d6e
CODE:00412d52 8b4326 MOV param_1,dword ptr [EBX + 0x26]
CODE:00412d55 50 PUSH param_1
CODE:00412d56 a10c494600 MOV param_1,[DATA:Dlist_0046490c] ;= ??
CODE:00412d5b 50 PUSH param_1
CODE:00412d5c e8e9240200 CALL DlistRemove ;void DlistRemove(Dlist * list, Dlist...
CODE:00412d61 83c408 ADD ESP,0x8
CODE:00412d64 8b4326 MOV param_1,dword ptr [EBX + 0x26]
CODE:00412d67 50 PUSH param_1
CODE:00412d68 e84d950200 CALL PoolFree ;undefined PoolFree(void * object)
CODE:00412d6d 59 POP param_3
LAB_00412d6e: ;XREF[1]: 00412d50(j)
CODE:00412d6e 53 PUSH EBX
CODE:00412d6f e8c80b0000 CALL FUN_0041393c ;undefined FUN_0041393c(undefined4 pa...
CODE:00412d74 59 POP param_3
CODE:00412d75 53 PUSH EBX
CODE:00412d76 e83f950200 CALL PoolFree ;undefined PoolFree(void * object)
CODE:00412d7b 59 POP param_3
LAB_00412d7c: ;XREF[1]: 00412d15(j)
CODE:00412d7c 33c0 XOR param_1,param_1
CODE:00412d7e 5b POP EBX
CODE:00412d7f 5d POP EBP
CODE:00412d80 c3 RET
CODE:00412d81 90 ?? 90h
CODE:00412d82 90 ?? 90h
CODE:00412d83 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00412d84(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 CODE:00412d85 8bec MOV EBP,ESP
CODE:00412d87 53 PUSH EBX
CODE:00412d88 56 PUSH ESI
CODE:00412d89 8b7508 MOV ESI,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00412d8c 33db XOR EBX,EBX
CODE:00412d8e a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:00412d93 50 PUSH EAX
CODE:00412d94 e84f230200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:00412d99 59 POP ECX
CODE:00412d9a eb1d JMP LAB_00412db9
LAB_00412d9c: ;XREF[1]: 00412dc0(j)
CODE:00412d9c 663b7042 CMP SI,word ptr [EAX + 0x42]
CODE:00412da0 750b JNZ LAB_00412dad
CODE:00412da2 50 PUSH EAX
CODE:00412da3 e864ffffff CALL FUN_00412d0c ;undefined4 FUN_00412d0c(uint param_1...
CODE:00412da8 59 POP ECX
CODE:00412da9 66bb0100 MOV BX,0x1
LAB_00412dad: ;XREF[1]: 00412da0(j)
CODE:00412dad a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:00412db2 50 PUSH EAX
CODE:00412db3 e855230200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00412db8 59 POP ECX
LAB_00412db9: ;XREF[1]: 00412d9a(j)
CODE:00412db9 85c0 TEST EAX,EAX
CODE:00412dbb 7405 JZ LAB_00412dc2
CODE:00412dbd 6685db TEST BX,BX
CODE:00412dc0 74da JZ LAB_00412d9c
LAB_00412dc2: ;XREF[1]: 00412dbb(j)
CODE:00412dc2 33c0 XOR EAX,EAX
CODE:00412dc4 5e POP ESI
CODE:00412dc5 5b POP EBX
CODE:00412dc6 5d POP EBP
CODE:00412dc7 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412dc8(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1]: 00412dcc(R)
;XREF[21]: 00412e2c(c),0041450e(c),0041458a(c),00414c20(c),
; 00416176(c),004161c1(c),004161cd(c),004161d9(c),
; 004168b4(c),0041697b(c),004169e3(c),00419636(c),
; 00419664(c),004198ad(c),004198d3(c),00419c13(c),
; 00421bf2(c),00423516(c),00423563(c),00425fcf(c),
; 0044c5fe(c)
CODE:00412dc8 55 PUSH EBP
CODE:00412dc9 8bec MOV EBP,ESP
CODE:00412dcb 53 PUSH EBX
CODE:00412dcc 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
CODE:00412dcf 85db TEST EBX,EBX
CODE:00412dd1 7441 JZ LAB_00412e14
CODE:00412dd3 66837b1a00 CMP word ptr [EBX + 0x1a],0x0
CODE:00412dd8 753a JNZ LAB_00412e14
CODE:00412dda 53 PUSH EBX
CODE:00412ddb e848fcffff CALL FUN_00412a28 ;void FUN_00412a28(undefined4 param_1)
CODE:00412de0 59 POP ECX
CODE:00412de1 66c743180400 MOV word ptr [EBX + 0x18],0x4
CODE:00412de7 33c0 XOR EAX,EAX
CODE:00412de9 894314 MOV dword ptr [EBX + 0x14],EAX
CODE:00412dec 33c0 XOR EAX,EAX
CODE:00412dee 6689431c MOV word ptr [EBX + 0x1c],AX
CODE:00412df2 66894310 MOV word ptr [EBX + 0x10],AX
CODE:00412df6 6689431e MOV word ptr [EBX + 0x1e],AX
CODE:00412dfa 68a8224100 PUSH FUN_004122a8
CODE:00412dff 53 PUSH EBX
CODE:00412e00 a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:00412e05 50 PUSH EAX
CODE:00412e06 e846230200 CALL FUN_00435151 ;void FUN_00435151(undefined4 param_1...
CODE:00412e0b 83c40c ADD ESP,0xc
CODE:00412e0e 66c7431a0100 MOV word ptr [EBX + 0x1a],0x1
LAB_00412e14: ;XREF[2]: 00412dd1(j),00412dd8(j)
CODE:00412e14 5b POP EBX
CODE:00412e15 5d POP EBP
CODE:00412e16 c3 RET
CODE:00412e17 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412e18(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1]: 00412e1d(R)
;XREF[21]: 004129c8(c),004166ec(c),004166f8(c),0043201e(c),
; 004320a7(c),00432115(c),00434b15(c),00434ba4(c),
; 00434c4f(c),0043d2e3(c),0043d32f(c),0043e6c4(c),
; 0043e6d0(c),0043e6e8(c),0043e6f4(c),00443a5f(c),
; 00443a94(c),00443ad3(c),00443eb7(c),004451be(c),
; 0044f2bf(c)
CODE:00412e18 55 PUSH EBP
CODE:00412e19 8bec MOV EBP,ESP
CODE:00412e1b 53 PUSH EBX
CODE:00412e1c 56 PUSH ESI
CODE:00412e1d 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
CODE:00412e20 85c9 TEST ECX,ECX
CODE:00412e22 7447 JZ LAB_00412e6b
CODE:00412e24 6683791a00 CMP word ptr [ECX + 0x1a],0x0
CODE:00412e29 7509 JNZ LAB_00412e34
CODE:00412e2b 51 PUSH ECX
CODE:00412e2c e897ffffff CALL FUN_00412dc8 ;undefined FUN_00412dc8(undefined4 pa...
CODE:00412e31 59 POP ECX
CODE:00412e32 eb37 JMP LAB_00412e6b
LAB_00412e34: ;XREF[1]: 00412e29(j)
CODE:00412e34 668b5958 MOV BX,word ptr [ECX + 0x58]
CODE:00412e38 8b416a MOV EAX,dword ptr [ECX + 0x6a]
CODE:00412e3b 33d2 XOR EDX,EDX
CODE:00412e3d 663bda CMP BX,DX
CODE:00412e40 7e18 JLE LAB_00412e5a
LAB_00412e42: ;XREF[1]: 00412e58(j)
CODE:00412e42 0fbf30 MOVSX ESI,word ptr [EAX]
CODE:00412e45 8d34f6 LEA ESI,[ESI + ESI*0x8]
CODE:00412e48 66830cb51... OR word ptr [ESI*0x...,0x2
CODE:00412e51 83c002 ADD EAX,0x2
CODE:00412e54 42 INC EDX
CODE:00412e55 663bda CMP BX,DX
CODE:00412e58 7fe8 JG LAB_00412e42
LAB_00412e5a: ;XREF[1]: 00412e40(j)
CODE:00412e5a 66c741180400 MOV word ptr [ECX + 0x18],0x4
CODE:00412e60 33c0 XOR EAX,EAX
CODE:00412e62 894114 MOV dword ptr [ECX + 0x14],EAX
CODE:00412e65 66c7411c0000 MOV word ptr [ECX + 0x1c],0x0
LAB_00412e6b: ;XREF[2]: 00412e22(j),00412e32(j)
CODE:00412e6b 5e POP ESI
CODE:00412e6c 5b POP EBX
CODE:00412e6d 5d POP EBP
CODE:00412e6e c3 RET
CODE:00412e6f 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412e70(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 0041b715(c),0041f739(c),004202f2(c),0042078a(c),
; 00421376(c),004234fe(c),00423571(c),00423591(c),
; 004235c2(c),004262e1(c),00427165(c),0042780c(c),
; 00429fa4(c),0042a01f(c),0042a10e(c),0042a189(c),
; 0042a278(c),0043eee4(c),0043ef93(c),004400d8(c),
; 00440150(c)
CODE:00412e70 55 PUSH EBP
CODE:00412e71 8bec MOV EBP,ESP
CODE:00412e73 53 PUSH EBX
CODE:00412e74 8b5d08 MOV EBX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00412e77 85db TEST EBX,EBX
CODE:00412e79 7441 JZ LAB_00412ebc
CODE:00412e7b 66837b1a00 CMP word ptr [EBX + 0x1a],0x0
CODE:00412e80 753a JNZ LAB_00412ebc
CODE:00412e82 53 PUSH EBX
CODE:00412e83 e8a0fbffff CALL FUN_00412a28 ;void FUN_00412a28(undefined4 param_1)
CODE:00412e88 59 POP ECX
CODE:00412e89 66c743180480 MOV word ptr [EBX + 0x18],0x8004
CODE:00412e8f 33c0 XOR EAX,EAX
CODE:00412e91 894314 MOV dword ptr [EBX + 0x14],EAX
CODE:00412e94 33c0 XOR EAX,EAX
CODE:00412e96 6689431c MOV word ptr [EBX + 0x1c],AX
CODE:00412e9a 66894310 MOV word ptr [EBX + 0x10],AX
CODE:00412e9e 6689431e MOV word ptr [EBX + 0x1e],AX
CODE:00412ea2 68a8224100 PUSH FUN_004122a8
CODE:00412ea7 53 PUSH EBX
CODE:00412ea8 a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:00412ead 50 PUSH EAX
CODE:00412eae e89e220200 CALL FUN_00435151 ;void FUN_00435151(undefined4 param_1...
CODE:00412eb3 83c40c ADD ESP,0xc
CODE:00412eb6 66c7431a0100 MOV word ptr [EBX + 0x1a],0x1
LAB_00412ebc: ;XREF[2]: 00412e79(j),00412e80(j)
CODE:00412ebc 5b POP EBX
CODE:00412ebd 5d POP EBP
CODE:00412ebe c3 RET
CODE:00412ebf 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412ec0(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 0043c88e(c),0043c8b3(c),0043c8de(c),0043d4cb(c)
CODE:00412ec0 55 PUSH EBP
CODE:00412ec1 8bec MOV EBP,ESP
CODE:00412ec3 53 PUSH EBX
CODE:00412ec4 8b5d08 MOV EBX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00412ec7 66837b1a00 CMP word ptr [EBX + 0x1a],0x0
CODE:00412ecc 7532 JNZ LAB_00412f00
CODE:00412ece 53 PUSH EBX
CODE:00412ecf e854fbffff CALL FUN_00412a28 ;void FUN_00412a28(undefined4 param_1)
CODE:00412ed4 59 POP ECX
CODE:00412ed5 66c743180400 MOV word ptr [EBX + 0x18],0x4
CODE:00412edb a164024600 MOV EAX,[DATA:DAT_00460264]
CODE:00412ee0 03450c ADD EAX,dword ptr [EBP + Stack[0x8]+0x4]
CODE:00412ee3 894314 MOV dword ptr [EBX + 0x14],EAX
CODE:00412ee6 68a8224100 PUSH FUN_004122a8
CODE:00412eeb 53 PUSH EBX
CODE:00412eec a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:00412ef1 50 PUSH EAX
CODE:00412ef2 e85a220200 CALL FUN_00435151 ;void FUN_00435151(undefined4 param_1...
CODE:00412ef7 83c40c ADD ESP,0xc
CODE:00412efa 66c7431a0100 MOV word ptr [EBX + 0x1a],0x1
LAB_00412f00: ;XREF[1]: 00412ecc(j)
CODE:00412f00 5b POP EBX
CODE:00412f01 5d POP EBP
CODE:00412f02 c3 RET
CODE:00412f03 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void processNodes?(undefined4 this)
;this undefined4 4 ;XREF[1]: 00412f0a(R)
;i undefined2 SI ;XREF[1]: 00412f54(W)
;pj undefined4 EDI ;XREF[1]: 00412f84(W)
;j undefined2 HASH...
;XREF[21]: 004129aa(c),00412d1f(c),0041387c(c),00415c3b(c),
; 004160fe(c),00416894(c),00416965(c),004169cd(c),
; 004195d4(c),0041f729(c),004207c1(c),00420a8f(c),
; 00421366(c),00421c03(c),004234f2(c),0042350a(c),
; 00423522(c),0042352e(c),00423549(c),00423581(c),
; 004400b5(c)
CODE:00412f04 55 PUSH EBP
CODE:00412f05 8bec MOV EBP,ESP
CODE:00412f07 53 PUSH EBX
CODE:00412f08 56 PUSH ESI
CODE:00412f09 57 PUSH EDI
CODE:00412f0a 8b5d08 MOV EBX,dword ptr [EBP + this+0x4]
CODE:00412f0d 85db TEST EBX,EBX
CODE:00412f0f 747f JZ LAB_00412f90
CODE:00412f11 66837b1a00 CMP word ptr [EBX + 0x1a],0x0
CODE:00412f16 7478 JZ LAB_00412f90
CODE:00412f18 66c743180100 MOV word ptr [EBX + 0x18],0x1
CODE:00412f1e 53 PUSH EBX
CODE:00412f1f a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:00412f24 50 PUSH EAX
CODE:00412f25 e820230200 CALL DlistRemove ;void DlistRemove(Dlist * list, Dlist...
CODE:00412f2a 83c408 ADD ESP,0x8
CODE:00412f2d 66c7431a0000 MOV word ptr [EBX + 0x1a],0x0
CODE:00412f33 8b7b6a MOV EDI,dword ptr [EBX + 0x6a]
CODE:00412f36 f6434e02 TEST byte ptr [EBX + 0x4e],0x2
CODE:00412f3a 7527 JNZ LAB_00412f63
CODE:00412f3c 33f6 XOR ESI,ESI
CODE:00412f3e eb14 JMP LAB_00412f54
LAB_00412f40: ;XREF[1]: 00412f58(j)
CODE:00412f40 0fbf07 MOVSX EAX,word ptr [EDI]
CODE:00412f43 8d04c0 LEA EAX,[EAX + EAX*0x8]
CODE:00412f46 66c704851... MOV word ptr [EAX*0x...,0x2
CODE:00412f50 83c702 ADD EDI,0x2
CODE:00412f53 46 INC ESI
LAB_00412f54: ;XREF[1]: 00412f3e(j)
CODE:00412f54 663b7358 CMP i,word ptr [EBX + 0x58]
CODE:00412f58 7ce6 JL LAB_00412f40
CODE:00412f5a 53 PUSH EBX
CODE:00412f5b e830f5ffff CALL BigThing6Eh::drainNodesAndCheckNodeSi...;void drainNodesAndCheckNodeSiblingIn...
CODE:00412f60 59 POP ECX
CODE:00412f61 eb2d JMP LAB_00412f90
LAB_00412f63: ;XREF[1]: 00412f3a(j)
CODE:00412f63 33f6 XOR i,i
CODE:00412f65 eb1d JMP LAB_00412f84
LAB_00412f67: ;XREF[1]: 00412f88(j)
CODE:00412f67 668b07 MOV AX,word ptr [EDI]
CODE:00412f6a 83c702 ADD EDI,0x2
CODE:00412f6d 0fbfc0 MOVSX EAX,AX
CODE:00412f70 c1e002 SHL EAX,0x2
CODE:00412f73 8d04c0 LEA EAX,[EAX + EAX*0x8]
CODE:00412f76 81c010494600 ADD EAX,DATA:BigNode24h_ARRAY_00464910 ;= ??
CODE:00412f7c 50 PUSH EAX
CODE:00412f7d e8b2f4ffff CALL BigNode24h::switchLists? ;undefined switchLists?(BigNode24h * ...
CODE:00412f82 59 POP ECX
CODE:00412f83 46 INC i
LAB_00412f84: ;XREF[1]: 00412f65(j)
CODE:00412f84 663b7358 CMP i,word ptr [EBX + 0x58]
CODE:00412f88 7cdd JL LAB_00412f67
CODE:00412f8a 66c743580000 MOV word ptr [EBX + 0x58],0x0
LAB_00412f90: ;XREF[3]: 00412f0f(j),00412f16(j),00412f61(j)
CODE:00412f90 5f POP pj
CODE:00412f91 5e POP i
CODE:00412f92 5b POP EBX
CODE:00412f93 5d POP EBP
CODE:00412f94 c3 RET
CODE:00412f95 90 ?? 90h
CODE:00412f96 90 ?? 90h
CODE:00412f97 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00412f98(undefined4 param_1, uint param_2, undefined4 param_3, int param_4, ushort param_5)
;param_1 undefined4 EAX
;param_2 uint EDX
;param_3 undefined4 ECX
;param_4 int 4 ;XREF[1]: 00412fa0(R)
;param_5 ushort 8 ;XREF[1]: 00412f9d(R)
CODE:00412f98 55 PUSH EBP
CODE:00412f99 8bec MOV EBP,ESP
CODE:00412f9b 53 PUSH EBX
CODE:00412f9c 56 PUSH ESI
CODE:00412f9d 8b450c MOV param_1,dword ptr [EBP + param_5+0x4]
CODE:00412fa0 8b5d08 MOV EBX,dword ptr [EBP + param_4+0x4]
CODE:00412fa3 668b530c MOV param_2,word ptr [EBX + 0xc]
CODE:00412fa7 663bc2 CMP param_1,param_2
CODE:00412faa 7430 JZ LAB_00412fdc
CODE:00412fac 8bf2 MOV ESI,param_2
CODE:00412fae 6689430c MOV word ptr [EBX + 0xc],param_1
CODE:00412fb2 66837b1a00 CMP word ptr [EBX + 0x1a],0x0
CODE:00412fb7 7423 JZ LAB_00412fdc
CODE:00412fb9 53 PUSH EBX
CODE:00412fba a128574600 MOV param_1,[DATA:Dlist_00465728] ;= ??
CODE:00412fbf 50 PUSH param_1
CODE:00412fc0 e885220200 CALL DlistRemove ;void DlistRemove(Dlist * list, Dlist...
CODE:00412fc5 83c408 ADD ESP,0x8
CODE:00412fc8 68a8224100 PUSH FUN_004122a8
CODE:00412fcd 53 PUSH EBX
CODE:00412fce a128574600 MOV param_1,[DATA:Dlist_00465728] ;= ??
CODE:00412fd3 50 PUSH param_1
CODE:00412fd4 e878210200 CALL FUN_00435151 ;void FUN_00435151(undefined4 param_1...
CODE:00412fd9 83c40c ADD ESP,0xc
LAB_00412fdc: ;XREF[2]: 00412faa(j),00412fb7(j)
CODE:00412fdc 8bc6 MOV param_1,ESI
CODE:00412fde 5e POP ESI
CODE:00412fdf 5b POP EBX
CODE:00412fe0 5d POP EBP
CODE:00412fe1 c3 RET
CODE:00412fe2 90 ?? 90h
CODE:00412fe3 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void FUN_00412fe4(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1]: 00412fe7(R)
;XREF[12]: 0041317e(c),00413363(c),004224d6(c),0042593f(c),
; 004259b7(c),004340c3(c),0043410f(c),0043d097(c),
; 0044142f(c),0044149e(c),00441c38(c),00441c6a(c)
CODE:00412fe4 55 PUSH EBP
CODE:00412fe5 8bec MOV EBP,ESP
CODE:00412fe7 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
CODE:00412fea 85c0 TEST EAX,EAX
CODE:00412fec 7414 JZ LAB_00413002
CODE:00412fee 66c740180200 MOV word ptr [EAX + 0x18],0x2
CODE:00412ff4 33d2 XOR EDX,EDX
CODE:00412ff6 66895010 MOV word ptr [EAX + 0x10],DX
CODE:00412ffa 6689501c MOV word ptr [EAX + 0x1c],DX
CODE:00412ffe 6689501e MOV word ptr [EAX + 0x1e],DX
LAB_00413002: ;XREF[1]: 00412fec(j)
CODE:00413002 5d POP EBP
CODE:00413003 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined DoSomethingBig(void)
;XREF[2]: 0041278a(c),00438ecb(c)
CODE:00413004 53 PUSH EBX
CODE:00413005 56 PUSH ESI
CODE:00413006 57 PUSH EDI
CODE:00413007 55 PUSH EBP
CODE:00413008 83c4b8 ADD ESP,-0x48
CODE:0041300b 833d60024... CMP dword ptr [DATA:DAT_00460260],0x0
CODE:00413012 7409 JZ LAB_0041301d
CODE:00413014 6a00 PUSH 0x0
CODE:00413016 ff1560024600 CALL dword ptr [DATA:DAT_00460260]
CODE:0041301c 59 POP ECX
LAB_0041301d: ;XREF[1]: 00413012(j)
CODE:0041301d e8e2990300 CALL FUN_0044ca04 ;int FUN_0044ca04(void)
CODE:00413022 89442418 MOV dword ptr [ESP + 0x18],EAX
CODE:00413026 a364024600 MOV [DATA:DAT_00460264],EAX
CODE:0041302b a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:00413030 50 PUSH EAX
CODE:00413031 e8b2200200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:00413036 59 POP ECX
CODE:00413037 8bd8 MOV EBX,EAX
CODE:00413039 85db TEST EBX,EBX
CODE:0041303b 0f84cb060000 JZ LAB_0041370c
LAB_00413041: ;XREF[1]: 00413706(j)
CODE:00413041 53 PUSH EBX
CODE:00413042 e8c6200200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00413047 59 POP ECX
CODE:00413048 89442404 MOV dword ptr [ESP + 0x4],EAX
CODE:0041304c 8b4314 MOV EAX,dword ptr [EBX + 0x14]
CODE:0041304f 3b442418 CMP EAX,dword ptr [ESP + 0x18]
CODE:00413053 0f87a7060000 JA LAB_00413700
CODE:00413059 85c0 TEST EAX,EAX
CODE:0041305b 7507 JNZ LAB_00413064
CODE:0041305d 8b442418 MOV EAX,dword ptr [ESP + 0x18]
CODE:00413061 894314 MOV dword ptr [EBX + 0x14],EAX
LAB_00413064: ;XREF[1]: 0041305b(j)
CODE:00413064 8b542418 MOV EDX,dword ptr [ESP + 0x18]
CODE:00413068 895374 MOV dword ptr [EBX + 0x74],EDX
CODE:0041306b 8b4c2418 MOV ECX,dword ptr [ESP + 0x18]
CODE:0041306f 2bc8 SUB ECX,EAX
CODE:00413071 0fb74312 MOVZX EAX,word ptr [EBX + 0x12]
CODE:00413075 03442418 ADD EAX,dword ptr [ESP + 0x18]
CODE:00413079 894314 MOV dword ptr [EBX + 0x14],EAX
CODE:0041307c 66837b5400 CMP word ptr [EBX + 0x54],0x0
CODE:00413081 741e JZ LAB_004130a1
CODE:00413083 0fb77312 MOVZX ESI,word ptr [EBX + 0x12]
CODE:00413087 8bc1 MOV EAX,ECX
CODE:00413089 33d2 XOR EDX,EDX
CODE:0041308b f7f6 DIV ESI
CODE:0041308d 8bf8 MOV EDI,EAX
CODE:0041308f 03742418 ADD ESI,dword ptr [ESP + 0x18]
CODE:00413093 897314 MOV dword ptr [EBX + 0x14],ESI
CODE:00413096 6685ff TEST DI,DI
CODE:00413099 7408 JZ LAB_004130a3
CODE:0041309b 66bf0100 MOV DI,0x1
CODE:0041309f eb02 JMP LAB_004130a3
LAB_004130a1: ;XREF[1]: 00413081(j)
CODE:004130a1 33ff XOR EDI,EDI
LAB_004130a3: ;XREF[2]: 00413099(j),0041309f(j)
CODE:004130a3 66c744241... MOV word ptr [ESP + 0x14],0x1
LAB_004130aa: ;XREF[4]: 004132a8(j),004132df(j),004132f3(j),00413322(j)
CODE:004130aa f6431804 TEST byte ptr [EBX + 0x18],0x4
CODE:004130ae 0f8441060000 JZ LAB_004136f5
CODE:004130b4 66837c241401 CMP word ptr [ESP + 0x14],0x1
CODE:004130ba 750e JNZ LAB_004130ca
CODE:004130bc 53 PUSH EBX
CODE:004130bd e8cef3ffff CALL BigThing6Eh::drainNodesAndCheckNodeSi...;void drainNodesAndCheckNodeSiblingIn...
CODE:004130c2 59 POP ECX
CODE:004130c3 66c744241... MOV word ptr [ESP + 0x14],0x0
LAB_004130ca: ;XREF[1]: 004130ba(j)
CODE:004130ca 66c744241... MOV word ptr [ESP + 0x12],0x1
CODE:004130d1 8b6b2a MOV EBP,dword ptr [EBX + 0x2a]
CODE:004130d4 668b7310 MOV SI,word ptr [EBX + 0x10]
CODE:004130d8 8b4326 MOV EAX,dword ptr [EBX + 0x26]
CODE:004130db 890424 MOV dword ptr [ESP],EAX
CODE:004130de e9e0030000 JMP LAB_004134c3
LAB_004130e3: ;XREF[1]: 004134d3(j)
CODE:004130e3 668b54c500 MOV DX,word ptr [EBP + EAX*0x8]
CODE:004130e8 668954240a MOV word ptr [ESP + 0xa],DX
CODE:004130ed 668b54c502 MOV DX,word ptr [EBP + EAX*0x8 + 0x2]
CODE:004130f2 668954240c MOV word ptr [ESP + 0xc],DX
CODE:004130f7 668b44c506 MOV AX,word ptr [EBP + EAX*0x8 + 0x6]
CODE:004130fc 668944240e MOV word ptr [ESP + 0xe],AX
CODE:00413101 0fbf442408 MOVSX EAX,word ptr [ESP + 0x8]
CODE:00413106 83c016 ADD EAX,0x16
CODE:00413109 83f815 CMP EAX,0x15
CODE:0041310c 0f8752030000 JA switchD_00413112::caseD_16
switchD: ; FWD[24]: 00413119(R),00413171(j),00413190(j),0041319e(j),
; 004131a9(j),004131b9(j),004131cc(j),004131d6(j),
; 0041321f(j),00413249(j),00413258(j),00413267(j),
; 00413327(j),00413339(j),00413349(j),00413359(j),
; 0041335f(j),0041336f(j),004133a3(j),004133b2(j),
; 004133ce(j),004133f3(j),0041342c(j),00413464(j)
CODE:00413112 ff2485193... JMP dword ptr [EAX*0x4 + ->switchD_004131...;= 004133ce
switchdataD_00413119: ;XREF[1]: 00413112(R)
CODE:00413119 ce334100 addr switchD_00413112::caseD_ffea
CODE:0041311d 2c344100 addr switchD_00413112::caseD_ffeb
CODE:00413121 b2334100 addr switchD_00413112::caseD_ffec
CODE:00413125 a3334100 addr switchD_00413112::caseD_ffed
CODE:00413129 f3334100 addr switchD_00413112::caseD_ffee
CODE:0041312d 6f334100 addr switchD_00413112::caseD_ffef
CODE:00413131 5f334100 addr switchD_00413112::caseD_fff0
CODE:00413135 59334100 addr switchD_00413112::caseD_fff1
CODE:00413139 49334100 addr switchD_00413112::caseD_fff2
CODE:0041313d 39334100 addr switchD_00413112::caseD_fff3
CODE:00413141 27334100 addr switchD_00413112::caseD_fff4
CODE:00413145 cc314100 addr switchD_00413112::caseD_fff5
CODE:00413149 67324100 addr switchD_00413112::caseD_fff6
CODE:0041314d 58324100 addr switchD_00413112::caseD_fff7
CODE:00413151 49324100 addr switchD_00413112::caseD_fff8
CODE:00413155 b9314100 addr switchD_00413112::caseD_fff9
CODE:00413159 1f324100 addr switchD_00413112::caseD_fffa
CODE:0041315d d6314100 addr switchD_00413112::caseD_fffb
CODE:00413161 90314100 addr switchD_00413112::caseD_fffc
CODE:00413165 a9314100 addr switchD_00413112::caseD_fffd
CODE:00413169 9e314100 addr switchD_00413112::caseD_fffe
CODE:0041316d 71314100 addr switchD_00413112::caseD_ffff
caseD_ffff: ;XREF[2]: 00413112(j),0041316d(*)
CODE:00413171 66c743180100 MOV word ptr [EBX + 0x18],0x1
CODE:00413177 66c7431c0100 MOV word ptr [EBX + 0x1c],0x1
CODE:0041317d 53 PUSH EBX
CODE:0041317e e861feffff CALL FUN_00412fe4 ;void FUN_00412fe4(undefined4 param_1)
CODE:00413183 59 POP ECX
CODE:00413184 53 PUSH EBX
CODE:00413185 e87afdffff CALL BigThing6Eh::processNodes? ;void processNodes?(undefined4 this)
CODE:0041318a 59 POP ECX
CODE:0041318b e970050000 JMP LAB_00413700
caseD_fffc: ;XREF[2]: 00413112(j),00413161(*)
CODE:00413190 66c743181000 MOV word ptr [EBX + 0x18],0x10
CODE:00413196 46 INC ESI
CODE:00413197 33ff XOR EDI,EDI
CODE:00413199 e91a030000 JMP LAB_004134b8
caseD_fffe: ;XREF[2]: 00413112(j),00413169(*)
CODE:0041319e 66ff431c INC word ptr [EBX + 0x1c]
CODE:004131a2 33f6 XOR ESI,ESI
CODE:004131a4 e90f030000 JMP LAB_004134b8
caseD_fffd: ;XREF[2]: 00413112(j),00413165(*)
CODE:004131a9 668b44240a MOV AX,word ptr [ESP + 0xa]
CODE:004131ae 6689442412 MOV word ptr [ESP + 0x12],AX
CODE:004131b3 46 INC ESI
CODE:004131b4 e9ff020000 JMP LAB_004134b8
caseD_fff9: ;XREF[2]: 00413112(j),00413155(*)
CODE:004131b9 46 INC ESI
CODE:004131ba 668b44240a MOV AX,word ptr [ESP + 0xa]
CODE:004131bf 66894344 MOV word ptr [EBX + 0x44],AX
CODE:004131c3 66897346 MOV word ptr [EBX + 0x46],SI
CODE:004131c7 e9ec020000 JMP LAB_004134b8
caseD_fff5: ;XREF[2]: 00413112(j),00413145(*)
CODE:004131cc 668b74240a MOV SI,word ptr [ESP + 0xa]
CODE:004131d1 e9e2020000 JMP LAB_004134b8
caseD_fffb: ;XREF[2]: 00413112(j),0041315d(*)
CODE:004131d6 668b44240a MOV AX,word ptr [ESP + 0xa]
CODE:004131db 663b4344 CMP AX,word ptr [EBX + 0x44]
CODE:004131df 7509 JNZ LAB_004131ea
CODE:004131e1 668b7346 MOV SI,word ptr [EBX + 0x46]
CODE:004131e5 e9ce020000 JMP LAB_004134b8
LAB_004131ea: ;XREF[1]: 004131df(j)
CODE:004131ea 8bc5 MOV EAX,EBP
CODE:004131ec 66c744241... MOV word ptr [ESP + 0x10],0x0
CODE:004131f3 eb1e JMP LAB_00413213
LAB_004131f5: ;XREF[1]: 00413218(j)
CODE:004131f5 66837804f9 CMP word ptr [EAX + 0x4],-0x7
CODE:004131fa 740a JZ LAB_00413206
CODE:004131fc 668b10 MOV DX,word ptr [EAX]
CODE:004131ff 663b54240a CMP DX,word ptr [ESP + 0xa]
CODE:00413204 7505 JNZ LAB_0041320b
LAB_00413206: ;XREF[1]: 004131fa(j)
CODE:00413206 668b742410 MOV SI,word ptr [ESP + 0x10]
LAB_0041320b: ;XREF[1]: 00413204(j)
CODE:0041320b 83c008 ADD EAX,0x8
CODE:0041320e 66ff442410 INC word ptr [ESP + 0x10]
LAB_00413213: ;XREF[1]: 004131f3(j)
CODE:00413213 66837804ff CMP word ptr [EAX + 0x4],-0x1
CODE:00413218 75db JNZ LAB_004131f5
CODE:0041321a e999020000 JMP LAB_004134b8
caseD_fffa: ;XREF[2]: 00413112(j),00413159(*)
CODE:0041321f 66817c240... CMP word ptr [ESP + 0xa],0x8000
CODE:00413226 7409 JZ LAB_00413231
CODE:00413228 668b44240a MOV AX,word ptr [ESP + 0xa]
CODE:0041322d 66894308 MOV word ptr [EBX + 0x8],AX
LAB_00413231: ;XREF[1]: 00413226(j)
CODE:00413231 66817c240... CMP word ptr [ESP + 0xc],0x8000
CODE:00413238 7409 JZ LAB_00413243
CODE:0041323a 668b44240c MOV AX,word ptr [ESP + 0xc]
CODE:0041323f 6689430a MOV word ptr [EBX + 0xa],AX
LAB_00413243: ;XREF[1]: 00413238(j)
CODE:00413243 46 INC ESI
CODE:00413244 e96f020000 JMP LAB_004134b8
caseD_fff8: ;XREF[2]: 00413112(j),00413151(*)
CODE:00413249 668b44240a MOV AX,word ptr [ESP + 0xa]
CODE:0041324e 66014308 ADD word ptr [EBX + 0x8],AX
CODE:00413252 46 INC ESI
CODE:00413253 e960020000 JMP LAB_004134b8
caseD_fff7: ;XREF[2]: 00413112(j),0041314d(*)
CODE:00413258 668b44240a MOV AX,word ptr [ESP + 0xa]
CODE:0041325d 6601430a ADD word ptr [EBX + 0xa],AX
CODE:00413261 46 INC ESI
CODE:00413262 e951020000 JMP LAB_004134b8
caseD_fff6: ;XREF[2]: 00413112(j),00413149(*)
CODE:00413267 33ff XOR EDI,EDI
CODE:00413269 0fbf44240a MOVSX EAX,word ptr [ESP + 0xa]
CODE:0041326e 48 DEC EAX
CODE:0041326f 740e JZ LAB_0041327f
CODE:00413271 48 DEC EAX
CODE:00413272 7439 JZ LAB_004132ad
CODE:00413274 48 DEC EAX
CODE:00413275 746d JZ LAB_004132e4
CODE:00413277 48 DEC EAX
CODE:00413278 747e JZ LAB_004132f8
CODE:0041327a e939020000 JMP LAB_004134b8
LAB_0041327f: ;XREF[1]: 0041326f(j)
CODE:0041327f 8b0424 MOV EAX,dword ptr [ESP]
CODE:00413282 6683780800 CMP word ptr [EAX + 0x8],0x0
CODE:00413287 7413 JZ LAB_0041329c
CODE:00413289 e8c60f0400 CALL Random ;int Random(void)
CODE:0041328e 8b1424 MOV EDX,dword ptr [ESP]
CODE:00413291 0fbf5208 MOVSX EDX,word ptr [EDX + 0x8]
CODE:00413295 8bca MOV ECX,EDX
CODE:00413297 99 CDQ
CODE:00413298 f7f9 IDIV ECX
CODE:0041329a eb02 JMP LAB_0041329e
LAB_0041329c: ;XREF[1]: 00413287(j)
CODE:0041329c 33d2 XOR EDX,EDX
LAB_0041329e: ;XREF[1]: 0041329a(j)
CODE:0041329e 52 PUSH EDX
CODE:0041329f 53 PUSH EBX
CODE:004132a0 e82ff7ffff CALL FUN_004129d4 ;undefined FUN_004129d4(undefined4 pa...
CODE:004132a5 83c408 ADD ESP,0x8
CODE:004132a8 e9fdfdffff JMP LAB_004130aa
LAB_004132ad: ;XREF[1]: 00413272(j)
CODE:004132ad 668b430e MOV AX,word ptr [EBX + 0xe]
CODE:004132b1 6689442410 MOV word ptr [ESP + 0x10],AX
CODE:004132b6 66ff442410 INC word ptr [ESP + 0x10]
CODE:004132bb 668b442410 MOV AX,word ptr [ESP + 0x10]
CODE:004132c0 8b1424 MOV EDX,dword ptr [ESP]
CODE:004132c3 663b4208 CMP AX,word ptr [EDX + 0x8]
CODE:004132c7 7507 JNZ LAB_004132d0
CODE:004132c9 66c744241... MOV word ptr [ESP + 0x10],0x0
LAB_004132d0: ;XREF[1]: 004132c7(j)
CODE:004132d0 668b442410 MOV AX,word ptr [ESP + 0x10]
CODE:004132d5 50 PUSH EAX
CODE:004132d6 53 PUSH EBX
CODE:004132d7 e8f8f6ffff CALL FUN_004129d4 ;undefined FUN_004129d4(undefined4 pa...
CODE:004132dc 83c408 ADD ESP,0x8
CODE:004132df e9c6fdffff JMP LAB_004130aa
LAB_004132e4: ;XREF[1]: 00413275(j)
CODE:004132e4 668b44240c MOV AX,word ptr [ESP + 0xc]
CODE:004132e9 50 PUSH EAX
CODE:004132ea 53 PUSH EBX
CODE:004132eb e8e4f6ffff CALL FUN_004129d4 ;undefined FUN_004129d4(undefined4 pa...
CODE:004132f0 83c408 ADD ESP,0x8
CODE:004132f3 e9b2fdffff JMP LAB_004130aa
LAB_004132f8: ;XREF[1]: 00413278(j)
CODE:004132f8 66837c240e00 CMP word ptr [ESP + 0xe],0x0
CODE:004132fe 7411 JZ LAB_00413311
CODE:00413300 e84f0f0400 CALL Random ;int Random(void)
CODE:00413305 0fbf54240e MOVSX EDX,word ptr [ESP + 0xe]
CODE:0041330a 8bca MOV ECX,EDX
CODE:0041330c 99 CDQ
CODE:0041330d f7f9 IDIV ECX
CODE:0041330f eb02 JMP LAB_00413313
LAB_00413311: ;XREF[1]: 004132fe(j)
CODE:00413311 33d2 XOR EDX,EDX
LAB_00413313: ;XREF[1]: 0041330f(j)
CODE:00413313 660354240c ADD DX,word ptr [ESP + 0xc]
CODE:00413318 52 PUSH EDX
CODE:00413319 53 PUSH EBX
CODE:0041331a e8b5f6ffff CALL FUN_004129d4 ;undefined FUN_004129d4(undefined4 pa...
CODE:0041331f 83c408 ADD ESP,0x8
CODE:00413322 e983fdffff JMP LAB_004130aa
caseD_fff4: ;XREF[2]: 00413112(j),00413141(*)
CODE:00413327 66837b2e00 CMP word ptr [EBX + 0x2e],0x0
CODE:0041332c 7405 JZ LAB_00413333
CODE:0041332e 53 PUSH EBX
CODE:0041332f ff5330 CALL dword ptr [EBX + 0x30]
CODE:00413332 59 POP ECX
LAB_00413333: ;XREF[1]: 0041332c(j)
CODE:00413333 46 INC ESI
CODE:00413334 e9b8030000 JMP LAB_004136f1
caseD_fff3: ;XREF[2]: 00413112(j),0041313d(*)
CODE:00413339 8b434a MOV EAX,dword ptr [EBX + 0x4a]
CODE:0041333c 50 PUSH EAX
CODE:0041333d e8d6faffff CALL FUN_00412e18 ;undefined FUN_00412e18(undefined4 pa...
CODE:00413342 59 POP ECX
CODE:00413343 46 INC ESI
CODE:00413344 e96f010000 JMP LAB_004134b8
caseD_fff2: ;XREF[2]: 00413112(j),00413139(*)
CODE:00413349 8b434a MOV EAX,dword ptr [EBX + 0x4a]
CODE:0041334c 50 PUSH EAX
CODE:0041334d e8b2fbffff CALL BigThing6Eh::processNodes? ;void processNodes?(undefined4 this)
CODE:00413352 59 POP ECX
CODE:00413353 46 INC ESI
CODE:00413354 e95f010000 JMP LAB_004134b8
caseD_fff1: ;XREF[2]: 00413112(j),00413135(*)
CODE:00413359 46 INC ESI
CODE:0041335a e959010000 JMP LAB_004134b8
caseD_fff0: ;XREF[2]: 00413112(j),00413131(*)
CODE:0041335f 8b434a MOV EAX,dword ptr [EBX + 0x4a]
CODE:00413362 50 PUSH EAX
CODE:00413363 e87cfcffff CALL FUN_00412fe4 ;void FUN_00412fe4(undefined4 param_1)
CODE:00413368 59 POP ECX
CODE:00413369 46 INC ESI
CODE:0041336a e949010000 JMP LAB_004134b8
caseD_ffef: ;XREF[2]: 00413112(j),0041312d(*)
CODE:0041336f 668b4308 MOV AX,word ptr [EBX + 0x8]
CODE:00413373 660344240a ADD AX,word ptr [ESP + 0xa]
CODE:00413378 8b534a MOV EDX,dword ptr [EBX + 0x4a]
CODE:0041337b 66894208 MOV word ptr [EDX + 0x8],AX
CODE:0041337f 668b430a MOV AX,word ptr [EBX + 0xa]
CODE:00413383 660344240c ADD AX,word ptr [ESP + 0xc]
CODE:00413388 8b534a MOV EDX,dword ptr [EBX + 0x4a]
CODE:0041338b 6689420a MOV word ptr [EDX + 0xa],AX
CODE:0041338f 8b434a MOV EAX,dword ptr [EBX + 0x4a]
CODE:00413392 50 PUSH EAX
CODE:00413393 e8380b0000 CALL FUN_00413ed0 ;undefined2 FUN_00413ed0(undefined4 p...
CODE:00413398 59 POP ECX
CODE:00413399 6683f804 CMP AX,0x4
CODE:0041339d 46 INC ESI
CODE:0041339e e915010000 JMP LAB_004134b8
caseD_ffed: ;XREF[2]: 00413112(j),00413125(*)
CODE:004133a3 668b44240a MOV AX,word ptr [ESP + 0xa]
CODE:004133a8 6689431e MOV word ptr [EBX + 0x1e],AX
CODE:004133ac 46 INC ESI
CODE:004133ad e906010000 JMP LAB_004134b8
caseD_ffec: ;XREF[2]: 00413112(j),00413121(*)
CODE:004133b2 66ff4b1e DEC word ptr [EBX + 0x1e]
CODE:004133b6 668b431e MOV AX,word ptr [EBX + 0x1e]
CODE:004133ba 6685c0 TEST AX,AX
CODE:004133bd 7506 JNZ LAB_004133c5
CODE:004133bf 46 INC ESI
CODE:004133c0 e9f3000000 JMP LAB_004134b8
LAB_004133c5: ;XREF[1]: 004133bd(j)
CODE:004133c5 668b7346 MOV SI,word ptr [EBX + 0x46]
CODE:004133c9 e9ea000000 JMP LAB_004134b8
caseD_ffea: ;XREF[2]: 00413112(j),00413119(*)
CODE:004133ce 66837c240a00 CMP word ptr [ESP + 0xa],0x0
CODE:004133d4 740f JZ LAB_004133e5
CODE:004133d6 66c743480100 MOV word ptr [EBX + 0x48],0x1
CODE:004133dc 53 PUSH EBX
CODE:004133dd e83a050000 CALL FUN_0041391c ;undefined FUN_0041391c(undefined4 pa...
CODE:004133e2 59 POP ECX
CODE:004133e3 eb06 JMP LAB_004133eb
LAB_004133e5: ;XREF[1]: 004133d4(j)
CODE:004133e5 66c743480200 MOV word ptr [EBX + 0x48],0x2
LAB_004133eb: ;XREF[1]: 004133e3(j)
CODE:004133eb 46 INC ESI
CODE:004133ec 33ff XOR EDI,EDI
CODE:004133ee e9c5000000 JMP LAB_004134b8
caseD_ffee: ;XREF[2]: 00413112(j),00413129(*)
CODE:004133f3 837b5000 CMP dword ptr [EBX + 0x50],0x0
CODE:004133f7 7425 JZ LAB_0041341e
CODE:004133f9 e822e00100 CALL FUN_00431420 ;undefined FUN_00431420(void)
CODE:004133fe 8b4350 MOV EAX,dword ptr [EBX + 0x50]
CODE:00413401 50 PUSH EAX
CODE:00413402 e898e3ffff CALL FUN_0041179f ;undefined FUN_0041179f(void)
CODE:00413407 59 POP ECX
CODE:00413408 e8cbdf0100 CALL FUN_004313d8 ;undefined FUN_004313d8(void)
CODE:0041340d 66837c240a00 CMP word ptr [ESP + 0xa],0x0
CODE:00413413 7411 JZ LAB_00413426
CODE:00413415 53 PUSH EBX
CODE:00413416 e821050000 CALL FUN_0041393c ;undefined FUN_0041393c(undefined4 pa...
CODE:0041341b 59 POP ECX
CODE:0041341c eb08 JMP LAB_00413426
LAB_0041341e: ;XREF[1]: 004133f7(j)
CODE:0041341e 6a06 PUSH 0x6
CODE:00413420 e857eeffff CALL FUN_0041227c ;void FUN_0041227c(undefined2 param_1)
CODE:00413425 59 POP ECX
LAB_00413426: ;XREF[2]: 00413413(j),0041341c(j)
CODE:00413426 46 INC ESI
CODE:00413427 e98c000000 JMP LAB_004134b8
caseD_ffeb: ;XREF[2]: 00413112(j),0041311d(*)
CODE:0041342c 0fbf44240c MOVSX EAX,word ptr [ESP + 0xc]
CODE:00413431 0fbf54240a MOVSX EDX,word ptr [ESP + 0xa]
CODE:00413436 2bc2 SUB EAX,EDX
CODE:00413438 7418 JZ LAB_00413452
CODE:0041343a e8150e0400 CALL Random ;int Random(void)
CODE:0041343f 0fbf54240c MOVSX EDX,word ptr [ESP + 0xc]
CODE:00413444 0fbf4c240a MOVSX ECX,word ptr [ESP + 0xa]
CODE:00413449 2bd1 SUB EDX,ECX
CODE:0041344b 8bca MOV ECX,EDX
CODE:0041344d 99 CDQ
CODE:0041344e f7f9 IDIV ECX
CODE:00413450 eb02 JMP LAB_00413454
LAB_00413452: ;XREF[1]: 00413438(j)
CODE:00413452 33d2 XOR EDX,EDX
LAB_00413454: ;XREF[1]: 00413450(j)
CODE:00413454 0fbf44240a MOVSX EAX,word ptr [ESP + 0xa]
CODE:00413459 03d0 ADD EDX,EAX
CODE:0041345b 015314 ADD dword ptr [EBX + 0x14],EDX
CODE:0041345e 46 INC ESI
CODE:0041345f e98d020000 JMP LAB_004136f1
caseD_16: ;XREF[2]: 0041310c(j),00413112(j)
CODE:00413464 66817c240... CMP word ptr [ESP + 0x8],0xfe0c
CODE:0041346b 7f4b JG LAB_004134b8
CODE:0041346d 66c744244... MOV word ptr [ESP + 0x44],0x0
CODE:00413474 833d5c024... CMP dword ptr [DATA:DAT_0046025c],0x0
CODE:0041347b 7432 JZ LAB_004134af
CODE:0041347d 668b44240e MOV AX,word ptr [ESP + 0xe]
CODE:00413482 50 PUSH EAX
CODE:00413483 668b442410 MOV AX,word ptr [ESP + 0x10]
CODE:00413488 50 PUSH EAX
CODE:00413489 668b442412 MOV AX,word ptr [ESP + 0x12]
CODE:0041348e 50 PUSH EAX
CODE:0041348f 668b442414 MOV AX,word ptr [ESP + 0x14]
CODE:00413494 50 PUSH EAX
CODE:00413495 53 PUSH EBX
CODE:00413496 ff155c024600 CALL dword ptr [DATA:DAT_0046025c]
CODE:0041349c 83c414 ADD ESP,0x14
CODE:0041349f 6689442444 MOV word ptr [ESP + 0x44],AX
CODE:004134a4 f644244401 TEST byte ptr [ESP + 0x44],0x1
CODE:004134a9 7404 JZ LAB_004134af
CODE:004134ab 668b7310 MOV SI,word ptr [EBX + 0x10]
LAB_004134af: ;XREF[2]: 0041347b(j),004134a9(j)
CODE:004134af 66837c244400 CMP word ptr [ESP + 0x44],0x0
CODE:004134b5 7501 JNZ LAB_004134b8
CODE:004134b7 46 INC ESI
LAB_004134b8: ;XREF[21]: 00413199(j),004131a4(j),004131b4(j),004131c7(j),
; 004131d1(j),004131e5(j),0041321a(j),00413244(j),
; 00413253(j),00413262(j),0041327a(j),00413344(j),
; 00413354(j),0041335a(j),0041336a(j),0041339e(j),
; 004133ad(j),004133c0(j),004133c9(j),0041346b(j),
; 004134b5(j)
CODE:004134b8 6685ff TEST DI,DI
CODE:004134bb 7406 JZ LAB_004134c3
CODE:004134bd 6603742412 ADD SI,word ptr [ESP + 0x12]
CODE:004134c2 4f DEC EDI
LAB_004134c3: ;XREF[2]: 004130de(j),004134bb(j)
CODE:004134c3 0fbfc6 MOVSX EAX,SI
CODE:004134c6 668b54c504 MOV DX,word ptr [EBP + EAX*0x8 + 0x4]
CODE:004134cb 6689542408 MOV word ptr [ESP + 0x8],DX
CODE:004134d0 6685d2 TEST DX,DX
CODE:004134d3 0f8c0afcffff JL LAB_004130e3
CODE:004134d9 66897310 MOV word ptr [EBX + 0x10],SI
CODE:004134dd 66c743580000 MOV word ptr [EBX + 0x58],0x0
CODE:004134e3 668b4318 MOV AX,word ptr [EBX + 0x18]
CODE:004134e7 668944243e MOV word ptr [ESP + 0x3e],AX
CODE:004134ec 66837b6e00 CMP word ptr [EBX + 0x6e],0x0
CODE:004134f1 7407 JZ LAB_004134fa
CODE:004134f3 b8da574600 MOV EAX,DATA:DAT_004657da ;= ??
CODE:004134f8 eb05 JMP LAB_004134ff
LAB_004134fa: ;XREF[1]: 004134f1(j)
CODE:004134fa b8e2574600 MOV EAX,DATA:DAT_004657e2 ;= ??
LAB_004134ff: ;XREF[1]: 004134f8(j)
CODE:004134ff 89442438 MOV dword ptr [ESP +...,EAX=>DATA:DAT_004...;= ??
CODE:00413503 66c744241... MOV word ptr [ESP + 0x10],0x0
CODE:0041350a 0fbfc6 MOVSX EAX,SI
CODE:0041350d 8d7cc504 LEA EDI,[EBP + EAX*0x8 + 0x4]
CODE:00413511 668b442410 MOV AX,word ptr [ESP + 0x10]
CODE:00413516 663b442412 CMP AX,word ptr [ESP + 0x12]
CODE:0041351b 0f8dc4010000 JGE LAB_004136e5
LAB_00413521: ;XREF[1]: 004136df(j)
CODE:00413521 66c744243... MOV word ptr [ESP + 0x3c],0x0
CODE:00413528 0fbf07 MOVSX EAX,word ptr [EDI]
CODE:0041352b 8b1424 MOV EDX,dword ptr [ESP]
CODE:0041352e 8b5216 MOV EDX,dword ptr [EDX + 0x16]
CODE:00413531 8b0482 MOV EAX,dword ptr [EDX + EAX*0x4]
CODE:00413534 894322 MOV dword ptr [EBX + 0x22],EAX
CODE:00413537 8b5326 MOV EDX,dword ptr [EBX + 0x26]
CODE:0041353a 8b5212 MOV EDX,dword ptr [EDX + 0x12]
CODE:0041353d 03d0 ADD EDX,EAX
CODE:0041353f 89542420 MOV dword ptr [ESP + 0x20],EDX
CODE:00413543 668b4308 MOV AX,word ptr [EBX + 0x8]
CODE:00413547 660347fc ADD AX,word ptr [EDI + -0x4]
CODE:0041354b 6689442430 MOV word ptr [ESP + 0x30],AX
CODE:00413550 6689442424 MOV word ptr [ESP + 0x24],AX
CODE:00413555 668b430a MOV AX,word ptr [EBX + 0xa]
CODE:00413559 660347fe ADD AX,word ptr [EDI + -0x2]
CODE:0041355d 6689442432 MOV word ptr [ESP + 0x32],AX
CODE:00413562 6689442426 MOV word ptr [ESP + 0x26],AX
CODE:00413567 8b442420 MOV EAX,dword ptr [ESP + 0x20]
CODE:0041356b 668b4002 MOV AX,word ptr [EAX + 0x2]
CODE:0041356f 6689442434 MOV word ptr [ESP + 0x34],AX
CODE:00413574 8b442420 MOV EAX,dword ptr [ESP + 0x20]
CODE:00413578 668b4004 MOV AX,word ptr [EAX + 0x4]
CODE:0041357c 6689442436 MOV word ptr [ESP + 0x36],AX
CODE:00413581 8d442430 LEA EAX,[ESP + 0x30]
CODE:00413585 50 PUSH EAX
CODE:00413586 8b44243c MOV EAX,dword ptr [ESP + 0x3c]
CODE:0041358a 50 PUSH EAX
CODE:0041358b e8acedffff CALL FUN_0041233c ;uint FUN_0041233c(undefined4 param_1...
CODE:00413590 83c408 ADD ESP,0x8
CODE:00413593 6689442442 MOV word ptr [ESP + 0x42],AX
CODE:00413598 6685c0 TEST AX,AX
CODE:0041359b 0f842b010000 JZ LAB_004136cc
CODE:004135a1 6a08 PUSH 0x8
CODE:004135a3 8d442434 LEA EAX,[ESP + 0x34]
CODE:004135a7 50 PUSH EAX
CODE:004135a8 8d433a LEA EAX,[EBX + 0x3a]
CODE:004135ab 50 PUSH EAX
CODE:004135ac e89bc80300 CALL Memcpy ;void * Memcpy(void * dest, void * sr...
CODE:004135b1 83c40c ADD ESP,0xc
CODE:004135b4 f6470201 TEST byte ptr [EDI + 0x2],0x1
CODE:004135b8 7407 JZ LAB_004135c1
CODE:004135ba 66814c243... OR word ptr [ESP + 0x3c],0x80
LAB_004135c1: ;XREF[1]: 004135b8(j)
CODE:004135c1 e83eeeffff CALL FUN_00412404 ;int FUN_00412404(void)
CODE:004135c6 8be8 MOV EBP,EAX
CODE:004135c8 85ed TEST EBP,EBP
CODE:004135ca 0f84fc000000 JZ LAB_004136cc
CODE:004135d0 8b442420 MOV EAX,dword ptr [ESP + 0x20]
CODE:004135d4 894516 MOV dword ptr [EBP + 0x16],EAX
CODE:004135d7 668b442424 MOV AX,word ptr [ESP + 0x24]
CODE:004135dc 6689451a MOV word ptr [EBP + 0x1a],AX
CODE:004135e0 668b442426 MOV AX,word ptr [ESP + 0x26]
CODE:004135e5 6689451c MOV word ptr [EBP + 0x1c],AX
CODE:004135e9 6a08 PUSH 0x8
CODE:004135eb 8d442434 LEA EAX,[ESP + 0x34]
CODE:004135ef 50 PUSH EAX
CODE:004135f0 8d450e LEA EAX,[EBP + 0xe]
CODE:004135f3 50 PUSH EAX
CODE:004135f4 e853c80300 CALL Memcpy ;void * Memcpy(void * dest, void * sr...
CODE:004135f9 83c40c ADD ESP,0xc
CODE:004135fc 668b430c MOV AX,word ptr [EBX + 0xc]
CODE:00413600 6689450a MOV word ptr [EBP + 0xa],AX
CODE:00413604 66837b6e00 CMP word ptr [EBX + 0x6e],0x0
CODE:00413609 7407 JZ LAB_00413612
CODE:0041360b 66814c243... OR word ptr [ESP + 0x3c],0x200
LAB_00413612: ;XREF[1]: 00413609(j)
CODE:00413612 837b3000 CMP dword ptr [EBX + 0x30],0x0
CODE:00413616 7407 JZ LAB_0041361f
CODE:00413618 66814c243... OR word ptr [ESP + 0x3c],0x400
LAB_0041361f: ;XREF[1]: 00413616(j)
CODE:0041361f 837b3600 CMP dword ptr [EBX + 0x36],0x0
CODE:00413623 7407 JZ LAB_0041362c
CODE:00413625 66814c243... OR word ptr [ESP + 0x3c],0x800
LAB_0041362c: ;XREF[1]: 00413623(j)
CODE:0041362c 66834c243c01 OR word ptr [ESP + 0x3c],0x1
CODE:00413632 f644244202 TEST byte ptr [ESP + 0x42],0x2
CODE:00413637 7406 JZ LAB_0041363f
CODE:00413639 66834c243c20 OR word ptr [ESP + 0x3c],0x20
LAB_0041363f: ;XREF[1]: 00413637(j)
CODE:0041363f 0fbf44243e MOVSX EAX,word ptr [ESP + 0x3e]
CODE:00413644 a910800000 TEST EAX,0x8010
CODE:00413649 7506 JNZ LAB_00413651
CODE:0041364b 66834c243c02 OR word ptr [ESP + 0x3c],0x2
LAB_00413651: ;XREF[1]: 00413649(j)
CODE:00413651 66837b4800 CMP word ptr [EBX + 0x48],0x0
CODE:00413656 7434 JZ LAB_0041368c
CODE:00413658 668364243cfd AND word ptr [ESP + 0x3c],0xfffd
CODE:0041365e 66834c243c08 OR word ptr [ESP + 0x3c],0x8
CODE:00413664 66837b4801 CMP word ptr [EBX + 0x48],0x1
CODE:00413669 751b JNZ LAB_00413686
CODE:0041366b e8b0dd0100 CALL FUN_00431420 ;undefined FUN_00431420(void)
CODE:00413670 8b4350 MOV EAX,dword ptr [EBX + 0x50]
CODE:00413673 50 PUSH EAX
CODE:00413674 8d442434 LEA EAX,[ESP + 0x34]
CODE:00413678 50 PUSH EAX
CODE:00413679 e8aee0ffff CALL FUN_0041172c ;undefined FUN_0041172c(undefined4 pa...
CODE:0041367e 83c408 ADD ESP,0x8
CODE:00413681 e852dd0100 CALL FUN_004313d8 ;undefined FUN_004313d8(void)
LAB_00413686: ;XREF[1]: 00413669(j)
CODE:00413686 66c743480000 MOV word ptr [EBX + 0x48],0x0
LAB_0041368c: ;XREF[1]: 00413656(j)
CODE:0041368c f6434e01 TEST byte ptr [EBX + 0x4e],0x1
CODE:00413690 7406 JZ LAB_00413698
CODE:00413692 66834c243c10 OR word ptr [ESP + 0x3c],0x10
LAB_00413698: ;XREF[1]: 00413690(j)
CODE:00413698 668b44243c MOV AX,word ptr [ESP + 0x3c]
CODE:0041369d 6689450c MOV word ptr [EBP + 0xc],AX
CODE:004136a1 895d20 MOV dword ptr [EBP + 0x20],EBX
CODE:004136a4 68bc224100 PUSH FUN_004122bc
CODE:004136a9 55 PUSH EBP
CODE:004136aa a120574600 MOV EAX,[DATA:Dlist_00465720] ;= ??
CODE:004136af 50 PUSH EAX
CODE:004136b0 e89c1a0200 CALL FUN_00435151 ;void FUN_00435151(undefined4 param_1...
CODE:004136b5 83c40c ADD ESP,0xc
CODE:004136b8 0fbf442410 MOVSX EAX,word ptr [ESP + 0x10]
CODE:004136bd 8b536a MOV EDX,dword ptr [EBX + 0x6a]
CODE:004136c0 668b4d08 MOV CX,word ptr [EBP + 0x8]
CODE:004136c4 66890c42 MOV word ptr [EDX + EAX*0x2],CX
CODE:004136c8 66ff4358 INC word ptr [EBX + 0x58]
LAB_004136cc: ;XREF[2]: 0041359b(j),004135ca(j)
CODE:004136cc 46 INC ESI
CODE:004136cd 83c708 ADD EDI,0x8
CODE:004136d0 66ff442410 INC word ptr [ESP + 0x10]
CODE:004136d5 668b442410 MOV AX,word ptr [ESP + 0x10]
CODE:004136da 663b442412 CMP AX,word ptr [ESP + 0x12]
CODE:004136df 0f8c3cfeffff JL LAB_00413521
LAB_004136e5: ;XREF[1]: 0041351b(j)
CODE:004136e5 f6431980 TEST byte ptr [EBX + 0x19],0x80
CODE:004136e9 7406 JZ LAB_004136f1
CODE:004136eb 66c743180200 MOV word ptr [EBX + 0x18],0x2
LAB_004136f1: ;XREF[3]: 00413334(j),0041345f(j),004136e9(j)
CODE:004136f1 66897310 MOV word ptr [EBX + 0x10],SI
LAB_004136f5: ;XREF[1]: 004130ae(j)
CODE:004136f5 53 PUSH EBX
CODE:004136f6 e8121a0200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:004136fb 59 POP ECX
CODE:004136fc 89442404 MOV dword ptr [ESP + 0x4],EAX
LAB_00413700: ;XREF[2]: 00413053(j),0041318b(j)
CODE:00413700 8b5c2404 MOV EBX,dword ptr [ESP + 0x4]
CODE:00413704 85db TEST EBX,EBX
CODE:00413706 0f8535f9ffff JNZ LAB_00413041
LAB_0041370c: ;XREF[1]: 0041303b(j)
CODE:0041370c a130574600 MOV EAX,[DATA:Dlist_00465730] ;= ??
CODE:00413711 50 PUSH EAX
CODE:00413712 e8d1190200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:00413717 59 POP ECX
CODE:00413718 8bd8 MOV EBX,EAX
CODE:0041371a 85db TEST EBX,EBX
CODE:0041371c 7412 JZ LAB_00413730
LAB_0041371e: ;XREF[1]: 0041372e(j)
CODE:0041371e ff5308 CALL dword ptr [EBX + 0x8]
CODE:00413721 85c0 TEST EAX,EAX
CODE:00413723 53 PUSH EBX
CODE:00413724 e8e4190200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00413729 59 POP ECX
CODE:0041372a 8bd8 MOV EBX,EAX
CODE:0041372c 85db TEST EBX,EBX
CODE:0041372e 75ee JNZ LAB_0041371e
LAB_00413730: ;XREF[1]: 0041371c(j)
CODE:00413730 e873eeffff CALL FUN_004125a8 ;undefined FUN_004125a8(void)
CODE:00413735 833d60024... CMP dword ptr [DATA:DAT_00460260],0x0
CODE:0041373c 7409 JZ LAB_00413747
CODE:0041373e 6a01 PUSH 0x1
CODE:00413740 ff1560024600 CALL dword ptr [DATA:DAT_00460260]
CODE:00413746 59 POP ECX
LAB_00413747: ;XREF[1]: 0041373c(j)
CODE:00413747 a134574600 MOV EAX,[DATA:Dlist_00465734] ;= ??
CODE:0041374c 50 PUSH EAX
CODE:0041374d e896190200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:00413752 59 POP ECX
CODE:00413753 8bd8 MOV EBX,EAX
CODE:00413755 85db TEST EBX,EBX
CODE:00413757 7410 JZ LAB_00413769
LAB_00413759: ;XREF[1]: 00413767(j)
CODE:00413759 ff5308 CALL dword ptr [EBX + 0x8]
CODE:0041375c 53 PUSH EBX
CODE:0041375d e8ab190200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00413762 59 POP ECX
CODE:00413763 8bd8 MOV EBX,EAX
CODE:00413765 85db TEST EBX,EBX
CODE:00413767 75f0 JNZ LAB_00413759
LAB_00413769: ;XREF[1]: 00413757(j)
CODE:00413769 83c448 ADD ESP,0x48
CODE:0041376c 5d POP EBP
CODE:0041376d 5f POP EDI
CODE:0041376e 5e POP ESI
CODE:0041376f 5b POP EBX
CODE:00413770 c3 RET
CODE:00413771 90 ?? 90h
CODE:00413772 90 ?? 90h
CODE:00413773 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ushort FUN_00413774(undefined4 param_1, undefined2 param_2)
;param_1 undefined4 4 ;XREF[1]: 00413778(R)
;param_2 undefined2 8 ;XREF[1]: 0041377b(R)
;XREF[21]: 00412a9f(c),0041632d(c),004168d2(c),0041977b(c),
; 004197f5(c),0041983f(c),00419b70(c),0041b1f2(c),
; 0041b2bd(c),00420ade(c),00420b69(c),00421e91(c),
; 0042bbd0(c),0042bc94(c),004337ce(c),00435ae5(c),
; 00435b84(c),00438f93(c),00439010(c),00439082(c),
; 0044c4e8(c)
CODE:00413774 55 PUSH EBP
CODE:00413775 8bec MOV EBP,ESP
CODE:00413777 53 PUSH EBX
CODE:00413778 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
CODE:0041377b 0fbf4d0c MOVSX ECX,word ptr [EBP + param_2+0x4]
CODE:0041377f 8b5026 MOV EDX,dword ptr [EAX + 0x26]
CODE:00413782 8b5a16 MOV EBX,dword ptr [EDX + 0x16]
CODE:00413785 8b0c8b MOV ECX,dword ptr [EBX + ECX*0x4]
CODE:00413788 8b4212 MOV EAX,dword ptr [EDX + 0x12]
CODE:0041378b 668b440802 MOV AX,word ptr [EAX + ECX*0x1 + 0x2]
CODE:00413790 5b POP EBX
CODE:00413791 5d POP EBP
CODE:00413792 c3 RET
CODE:00413793 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ushort FUN_00413794(undefined4 param_1, undefined2 param_2)
;param_1 undefined4 4 ;XREF[1]: 00413798(R)
;param_2 undefined2 8 ;XREF[1]: 0041379b(R)
;XREF[21]: 00412ab1(c),0041634e(c),004168df(c),00419762(c),
; 004197e7(c),0041982e(c),00419b88(c),0041b1dd(c),
; 0041b2a8(c),00420afa(c),00420b84(c),00421ea9(c),
; 0042bb9f(c),0042bc7c(c),004337ed(c),00435ad0(c),
; 00435b69(c),00438fab(c),00439028(c),00439063(c),
; 0044c4d9(c)
CODE:00413794 55 PUSH EBP
CODE:00413795 8bec MOV EBP,ESP
CODE:00413797 53 PUSH EBX
CODE:00413798 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
CODE:0041379b 0fbf4d0c MOVSX ECX,word ptr [EBP + param_2+0x4]
CODE:0041379f 8b5026 MOV EDX,dword ptr [EAX + 0x26]
CODE:004137a2 8b5a16 MOV EBX,dword ptr [EDX + 0x16]
CODE:004137a5 8b0c8b MOV ECX,dword ptr [EBX + ECX*0x4]
CODE:004137a8 8b4212 MOV EAX,dword ptr [EDX + 0x12]
CODE:004137ab 668b440804 MOV AX,word ptr [EAX + ECX*0x1 + 0x4]
CODE:004137b0 5b POP EBX
CODE:004137b1 5d POP EBP
CODE:004137b2 c3 RET
CODE:004137b3 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;short FUN_004137b4(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 00416901(c)
CODE:004137b4 55 PUSH EBP
CODE:004137b5 8bec MOV EBP,ESP
CODE:004137b7 53 PUSH EBX
CODE:004137b8 8b4d08 MOV ECX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:004137bb 668b5110 MOV DX,word ptr [ECX + 0x10]
CODE:004137bf 0fb7c2 MOVZX EAX,DX
CODE:004137c2 8b592a MOV EBX,dword ptr [ECX + 0x2a]
CODE:004137c5 8d44c304 LEA EAX,[EBX + EAX*0x8 + 0x4]
CODE:004137c9 eb04 JMP LAB_004137cf
LAB_004137cb: ;XREF[1]: 004137d3(j)
CODE:004137cb 42 INC EDX
CODE:004137cc 83c008 ADD EAX,0x8
LAB_004137cf: ;XREF[1]: 004137c9(j)
CODE:004137cf 66833800 CMP word ptr [EAX],0x0
CODE:004137d3 7cf6 JL LAB_004137cb
CODE:004137d5 0fb7c2 MOVZX EAX,DX
CODE:004137d8 8b512a MOV EDX,dword ptr [ECX + 0x2a]
CODE:004137db 668b04c2 MOV AX,word ptr [EDX + EAX*0x8]
CODE:004137df 66034108 ADD AX,word ptr [ECX + 0x8]
CODE:004137e3 5b POP EBX
CODE:004137e4 5d POP EBP
CODE:004137e5 c3 RET
CODE:004137e6 90 ?? 90h
CODE:004137e7 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;short FUN_004137e8(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 004168f9(c)
CODE:004137e8 55 PUSH EBP
CODE:004137e9 8bec MOV EBP,ESP
CODE:004137eb 53 PUSH EBX
CODE:004137ec 8b4d08 MOV ECX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:004137ef 668b5110 MOV DX,word ptr [ECX + 0x10]
CODE:004137f3 0fb7c2 MOVZX EAX,DX
CODE:004137f6 8b592a MOV EBX,dword ptr [ECX + 0x2a]
CODE:004137f9 8d44c304 LEA EAX,[EBX + EAX*0x8 + 0x4]
CODE:004137fd eb04 JMP LAB_00413803
LAB_004137ff: ;XREF[1]: 00413807(j)
CODE:004137ff 42 INC EDX
CODE:00413800 83c008 ADD EAX,0x8
LAB_00413803: ;XREF[1]: 004137fd(j)
CODE:00413803 66833800 CMP word ptr [EAX],0x0
CODE:00413807 7cf6 JL LAB_004137ff
CODE:00413809 0fb7c2 MOVZX EAX,DX
CODE:0041380c 8b512a MOV EDX,dword ptr [ECX + 0x2a]
CODE:0041380f 668b44c202 MOV AX,word ptr [EDX + EAX*0x8 + 0x2]
CODE:00413814 6603410a ADD AX,word ptr [ECX + 0xa]
CODE:00413818 5b POP EBX
CODE:00413819 5d POP EBP
CODE:0041381a c3 RET
CODE:0041381b 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0041381c(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 0041733d(c)
CODE:0041381c 55 PUSH EBP
CODE:0041381d 8bec MOV EBP,ESP
CODE:0041381f 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413822 668b400c MOV AX,word ptr [EAX + 0xc]
CODE:00413826 5d POP EBP
CODE:00413827 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413828(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 0043c6ba(c),0043c908(c),0044efee(c),0044f474(c)
CODE:00413828 55 PUSH EBP
CODE:00413829 8bec MOV EBP,ESP
CODE:0041382b 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:0041382e a35c024600 MOV [DATA:DAT_0046025c],EAX
CODE:00413833 5d POP EBP
CODE:00413834 c3 RET
CODE:00413835 90 ?? 90h
CODE:00413836 90 ?? 90h
CODE:00413837 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413838(void)
;XREF[5]: 00419af2(c),004321bc(c),0043ecd2(c),0044c39d(c),
; 0044f84d(c)
CODE:00413838 6a0c PUSH 0xc
CODE:0041383a e8348a0200 CALL PoolAlloc ;void * PoolAlloc(uint len)
CODE:0041383f 59 POP ECX
CODE:00413840 8b1528574600 MOV EDX,dword ptr [DATA:Dlist_00465728] ;= ??
CODE:00413846 895008 MOV dword ptr [EAX + 0x8],EDX
CODE:00413849 6a00 PUSH 0x0
CODE:0041384b 50 PUSH EAX
CODE:0041384c a12c574600 MOV EAX,[DATA:Dlist_0046572c] ;= ??
CODE:00413851 50 PUSH EAX
CODE:00413852 e870190200 CALL DlistInsert ;void DlistInsert(Dlist * list, Dlist...
CODE:00413857 83c40c ADD ESP,0xc
CODE:0041385a e8931a0200 CALL DlistNew ;Dlist * DlistNew(void)
CODE:0041385f a328574600 MOV [DATA:Dlist_00465728],EAX ;= ??
CODE:00413864 c3 RET
CODE:00413865 90 ?? 90h
CODE:00413866 90 ?? 90h
CODE:00413867 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413868(void)
;XREF[5]: 00419d00(c),00432480(c),0043f151(c),0044c87b(c),
; 0044ed1f(c)
CODE:00413868 53 PUSH EBX
CODE:00413869 a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:0041386e 50 PUSH EAX
CODE:0041386f e874180200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:00413874 59 POP ECX
CODE:00413875 8bd8 MOV EBX,EAX
CODE:00413877 85db TEST EBX,EBX
CODE:00413879 7414 JZ LAB_0041388f
LAB_0041387b: ;XREF[1]: 0041388d(j)
CODE:0041387b 53 PUSH EBX
CODE:0041387c e883f6ffff CALL BigThing6Eh::processNodes? ;void processNodes?(undefined4 this)
CODE:00413881 59 POP ECX
CODE:00413882 53 PUSH EBX
CODE:00413883 e885180200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00413888 59 POP ECX
CODE:00413889 8bd8 MOV EBX,EAX
CODE:0041388b 85db TEST EBX,EBX
CODE:0041388d 75ec JNZ LAB_0041387b
LAB_0041388f: ;XREF[1]: 00413879(j)
CODE:0041388f a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:00413894 50 PUSH EAX
CODE:00413895 e8681a0200 CALL PoolFreeIfNotNull ;undefined PoolFreeIfNotNull(undefine...
CODE:0041389a 59 POP ECX
CODE:0041389b a12c574600 MOV EAX,[DATA:Dlist_0046572c] ;= ??
CODE:004138a0 50 PUSH EAX
CODE:004138a1 e842180200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:004138a6 59 POP ECX
CODE:004138a7 8bd8 MOV EBX,EAX
CODE:004138a9 53 PUSH EBX
CODE:004138aa a12c574600 MOV EAX,[DATA:Dlist_0046572c] ;= ??
CODE:004138af 50 PUSH EAX
CODE:004138b0 e895190200 CALL DlistRemove ;void DlistRemove(Dlist * list, Dlist...
CODE:004138b5 83c408 ADD ESP,0x8
CODE:004138b8 8b4308 MOV EAX,dword ptr [EBX + 0x8]
CODE:004138bb a328574600 MOV [DATA:Dlist_00465728],EAX ;= ??
CODE:004138c0 53 PUSH EBX
CODE:004138c1 e8f4890200 CALL PoolFree ;undefined PoolFree(void * object)
CODE:004138c6 59 POP ECX
CODE:004138c7 a128574600 MOV EAX,[DATA:Dlist_00465728] ;= ??
CODE:004138cc 50 PUSH EAX
CODE:004138cd e816180200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:004138d2 59 POP ECX
CODE:004138d3 8bd8 MOV EBX,EAX
CODE:004138d5 85db TEST EBX,EBX
CODE:004138d7 7414 JZ LAB_004138ed
LAB_004138d9: ;XREF[1]: 004138eb(j)
CODE:004138d9 53 PUSH EBX
CODE:004138da e841050000 CALL FUN_00413e20 ;undefined FUN_00413e20(undefined par...
CODE:004138df 59 POP ECX
CODE:004138e0 53 PUSH EBX
CODE:004138e1 e827180200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:004138e6 59 POP ECX
CODE:004138e7 8bd8 MOV EBX,EAX
CODE:004138e9 85db TEST EBX,EBX
CODE:004138eb 75ec JNZ LAB_004138d9
LAB_004138ed: ;XREF[1]: 004138d7(j)
CODE:004138ed 5b POP EBX
CODE:004138ee c3 RET
CODE:004138ef 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004138f0(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 CODE:004138f1 8bec MOV EBP,ESP
CODE:004138f3 8b550c MOV EDX,dword ptr [EBP + Stack[0x8]+0x4]
CODE:004138f6 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:004138f9 89504a MOV dword ptr [EAX + 0x4a],EDX
CODE:004138fc 89424a MOV dword ptr [EDX + 0x4a],EAX
CODE:004138ff 5d POP EBP
CODE:00413900 c3 RET
CODE:00413901 90 ?? 90h
CODE:00413902 90 ?? 90h
CODE:00413903 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413904(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 CODE:00413905 8bec MOV EBP,ESP
CODE:00413907 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:0041390a 8b504a MOV EDX,dword ptr [EAX + 0x4a]
CODE:0041390d 33c9 XOR ECX,ECX
CODE:0041390f 894a4a MOV dword ptr [EDX + 0x4a],ECX
CODE:00413912 33d2 XOR EDX,EDX
CODE:00413914 89504a MOV dword ptr [EAX + 0x4a],EDX
CODE:00413917 5d POP EBP
CODE:00413918 c3 RET
CODE:00413919 90 ?? 90h
CODE:0041391a 90 ?? 90h
CODE:0041391b 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041391c(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1]: 00413920(R)
;XREF[1]: 004133dd(c)
CODE:0041391c 55 PUSH EBP
CODE:0041391d 8bec MOV EBP,ESP
CODE:0041391f 53 PUSH EBX
CODE:00413920 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
CODE:00413923 837b5000 CMP dword ptr [EBX + 0x50],0x0
CODE:00413927 7510 JNZ LAB_00413939
CODE:00413929 8b4326 MOV EAX,dword ptr [EBX + 0x26]
CODE:0041392c 8b4024 MOV EAX,dword ptr [EAX + 0x24]
CODE:0041392f 50 PUSH EAX
CODE:00413930 e83e890200 CALL PoolAlloc ;void * PoolAlloc(uint len)
CODE:00413935 59 POP ECX
CODE:00413936 894350 MOV dword ptr [EBX + 0x50],EAX
LAB_00413939: ;XREF[1]: 00413927(j)
CODE:00413939 5b POP EBX
CODE:0041393a 5d POP EBP
CODE:0041393b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041393c(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1]: 00413940(R)
;XREF[2]: 00412d6f(c),00413416(c)
CODE:0041393c 55 PUSH EBP
CODE:0041393d 8bec MOV EBP,ESP
CODE:0041393f 53 PUSH EBX
CODE:00413940 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
CODE:00413943 8b4350 MOV EAX,dword ptr [EBX + 0x50]
CODE:00413946 85c0 TEST EAX,EAX
CODE:00413948 740c JZ LAB_00413956
CODE:0041394a 50 PUSH EAX
CODE:0041394b e86a890200 CALL PoolFree ;undefined PoolFree(void * object)
CODE:00413950 59 POP ECX
CODE:00413951 33c0 XOR EAX,EAX
CODE:00413953 894350 MOV dword ptr [EBX + 0x50],EAX
LAB_00413956: ;XREF[1]: 00413948(j)
CODE:00413956 5b POP EBX
CODE:00413957 5d POP EBP
CODE:00413958 c3 RET
CODE:00413959 90 ?? 90h
CODE:0041395a 90 ?? 90h
CODE:0041395b 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041395c(undefined4 param_1, undefined4 param_2, undefined4 param_3, undefined2 param_4)
;param_1 undefined4 4 ;XREF[1]: 00413969(R)
;param_2 undefined4 8 ;XREF[1]: 00413966(R)
;param_3 undefined4 c ;XREF[1]: 00413963(R)
;param_4 undefined2 10 ;XREF[2]: 004139af(R),004139b7(R)
;local_6 undefined2 -6 ;XREF[3]: 0041397a(W),0041398a(W),00413a02(R)
;local_8 undefined2 -8 ;XREF[3]: 00413976(W),004139a3(W),004139fd(R)
;XREF[21]: 0041446e(c),00414503(c),0041457f(c),00414c15(c),
; 00415748(c),004157d0(c),00415d90(c),00415da7(c),
; 00415dbe(c),00415dd5(c),00415de9(c),00415e0d(c),
; 0041616b(c),00416869(c),004199a1(c),004199f2(c),
; 00419a3e(c),00419c05(c),0041ae22(c),0041af0a(c),
; 0041f74d(c)
CODE:0041395c 55 PUSH EBP
CODE:0041395d 8bec MOV EBP,ESP
CODE:0041395f 51 PUSH ECX
CODE:00413960 53 PUSH EBX
CODE:00413961 56 PUSH ESI
CODE:00413962 57 PUSH EDI
CODE:00413963 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
CODE:00413966 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
CODE:00413969 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
CODE:0041396c 85db TEST EBX,EBX
CODE:0041396e 0f84a9000000 JZ LAB_00413a1d
CODE:00413974 33c9 XOR ECX,ECX
CODE:00413976 66894dfc MOV word ptr [EBP + local_8+0x4],CX
CODE:0041397a 66894dfe MOV word ptr [EBP + local_6+0x4],CX
CODE:0041397e 663d0080 CMP AX,0x8000
CODE:00413982 7412 JZ LAB_00413996
CODE:00413984 8bc8 MOV ECX,EAX
CODE:00413986 662b4b08 SUB CX,word ptr [EBX + 0x8]
CODE:0041398a 66894dfe MOV word ptr [EBP + local_6+0x4],CX
CODE:0041398e 66894308 MOV word ptr [EBX + 0x8],AX
CODE:00413992 6689433a MOV word ptr [EBX + 0x3a],AX
LAB_00413996: ;XREF[1]: 00413982(j)
CODE:00413996 6681fa0080 CMP DX,0x8000
CODE:0041399b 7412 JZ LAB_004139af
CODE:0041399d 8bc2 MOV EAX,EDX
CODE:0041399f 662b430a SUB AX,word ptr [EBX + 0xa]
CODE:004139a3 668945fc MOV word ptr [EBP + local_8+0x4],AX
CODE:004139a7 6689530a MOV word ptr [EBX + 0xa],DX
CODE:004139ab 6689533c MOV word ptr [EBX + 0x3c],DX
LAB_004139af: ;XREF[1]: 0041399b(j)
CODE:004139af 66817d140080 CMP word ptr [EBP + param_4+0x4],0x8000
CODE:004139b5 7408 JZ LAB_004139bf
CODE:004139b7 668b4514 MOV AX,word ptr [EBP + param_4+0x4]
CODE:004139bb 6689430c MOV word ptr [EBX + 0xc],AX
LAB_004139bf: ;XREF[1]: 004139b5(j)
CODE:004139bf 668b4318 MOV AX,word ptr [EBX + 0x18]
CODE:004139c3 6683f802 CMP AX,0x2
CODE:004139c7 7406 JZ LAB_004139cf
CODE:004139c9 6683f810 CMP AX,0x10
CODE:004139cd 754e JNZ LAB_00413a1d
LAB_004139cf: ;XREF[1]: 004139c7(j)
CODE:004139cf 8b7b6a MOV EDI,dword ptr [EBX + 0x6a]
CODE:004139d2 33f6 XOR ESI,ESI
CODE:004139d4 eb13 JMP LAB_004139e9
LAB_004139d6: ;XREF[1]: 004139ed(j)
CODE:004139d6 0fbf07 MOVSX EAX,word ptr [EDI]
CODE:004139d9 8d04c0 LEA EAX,[EAX + EAX*0x8]
CODE:004139dc 66830c851... OR word ptr [EAX*0x...,0x4
CODE:004139e5 83c702 ADD EDI,0x2
CODE:004139e8 46 INC ESI
LAB_004139e9: ;XREF[1]: 004139d4(j)
CODE:004139e9 663b7358 CMP SI,word ptr [EBX + 0x58]
CODE:004139ed 7ce7 JL LAB_004139d6
CODE:004139ef 53 PUSH EBX
CODE:004139f0 e89beaffff CALL BigThing6Eh::drainNodesAndCheckNodeSi...;void drainNodesAndCheckNodeSiblingIn...
CODE:004139f5 59 POP ECX
CODE:004139f6 8b7b6a MOV EDI,dword ptr [EBX + 0x6a]
CODE:004139f9 33f6 XOR ESI,ESI
CODE:004139fb eb1a JMP LAB_00413a17
LAB_004139fd: ;XREF[1]: 00413a1b(j)
CODE:004139fd 668b45fc MOV AX,word ptr [EBP + local_8+0x4]
CODE:00413a01 50 PUSH EAX
CODE:00413a02 668b45fe MOV AX,word ptr [EBP + local_6+0x4]
CODE:00413a06 50 PUSH EAX
CODE:00413a07 668b07 MOV AX,word ptr [EDI]
CODE:00413a0a 83c702 ADD EDI,0x2
CODE:00413a0d 50 PUSH EAX
CODE:00413a0e e855eaffff CALL FUN_00412468 ;undefined FUN_00412468(undefined par...
CODE:00413a13 83c40c ADD ESP,0xc
CODE:00413a16 46 INC ESI
LAB_00413a17: ;XREF[1]: 004139fb(j)
CODE:00413a17 663b7358 CMP SI,word ptr [EBX + 0x58]
CODE:00413a1b 7ce0 JL LAB_004139fd
LAB_00413a1d: ;XREF[2]: 0041396e(j),004139cd(j)
CODE:00413a1d 5f POP EDI
CODE:00413a1e 5e POP ESI
CODE:00413a1f 5b POP EBX
CODE:00413a20 59 POP ECX
CODE:00413a21 5d POP EBP
CODE:00413a22 c3 RET
CODE:00413a23 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413a24(void)
;XREF[5]: 00412785(c),004128d8(c),0042fbaf(c),0042ff1d(c),
; 0044b289(c)
CODE:00413a24 66ff05680... INC word ptr [DATA:DAT_00460268] ;= 0001h
CODE:00413a2b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413a2c(undefined param_1, undefined param_2, undefined param_3, undefined2 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined2 00412798(c),0042b162(c),0042f6b9(c),0042fb66(c),
; 0042feb6(c),0044b330(c)
CODE:00413a2c 55 PUSH EBP
CODE:00413a2d 8bec MOV EBP,ESP
CODE:00413a2f 66837d0800 CMP word ptr [EBP + Stack[0x4]+0x4],0x0
CODE:00413a34 740b JZ LAB_00413a41
CODE:00413a36 66c705680... MOV word ptr [DATA:DAT_00460268],0x0 ;= 0001h
CODE:00413a3f 5d POP EBP
CODE:00413a40 c3 RET
LAB_00413a41: ;XREF[1]: 00413a34(j)
CODE:00413a41 66833d680... CMP word ptr [DATA:DAT_00460268],0x0 ;= 0001h
CODE:00413a49 7e07 JLE LAB_00413a52
CODE:00413a4b 66ff0d680... DEC word ptr [DATA:DAT_00460268] ;= 0001h
LAB_00413a52: ;XREF[1]: 00413a49(j)
CODE:00413a52 5d POP EBP
CODE:00413a53 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413a54(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 ;param_6 undefined4 00422202(c),00422c8a(c),004350dd(c),0043cddd(c),
; 0043e2b8(c),0043e315(c)
CODE:00413a54 55 PUSH EBP
CODE:00413a55 8bec MOV EBP,ESP
CODE:00413a57 53 PUSH EBX
CODE:00413a58 56 PUSH ESI
CODE:00413a59 8b5d10 MOV EBX,dword ptr [EBP + Stack[0xc]+0x4]
CODE:00413a5c 8b4d0c MOV ECX,dword ptr [EBP + Stack[0x8]+0x4]
CODE:00413a5f 8b7508 MOV ESI,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413a62 6685c9 TEST CX,CX
CODE:00413a65 7c13 JL LAB_00413a7a
CODE:00413a67 0fbf05d85... MOVSX EAX,word ptr [DATA:DAT_004657d8] ;= ??
CODE:00413a6e 0fbfd1 MOVSX EDX,CX
CODE:00413a71 8bca MOV ECX,EDX
CODE:00413a73 99 CDQ
CODE:00413a74 f7f9 IDIV ECX
CODE:00413a76 66894612 MOV word ptr [ESI + 0x12],AX
LAB_00413a7a: ;XREF[1]: 00413a65(j)
CODE:00413a7a 6685db TEST BX,BX
CODE:00413a7d 7c04 JL LAB_00413a83
CODE:00413a7f 66895e54 MOV word ptr [ESI + 0x54],BX
LAB_00413a83: ;XREF[1]: 00413a7d(j)
CODE:00413a83 5e POP ESI
CODE:00413a84 5b POP EBX
CODE:00413a85 5d POP EBP
CODE:00413a86 c3 RET
CODE:00413a87 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void FUN_00413a88(undefined4 param_1, undefined2 param_2, undefined2 param_3, undefined2 param_4, undefined2 param_5)
;param_1 undefined4 4 ;XREF[1]: 00413a99(R)
;param_2 undefined2 8 ;XREF[1]: 00413a96(R)
;param_3 undefined2 c ;XREF[1]: 00413a93(R)
;param_4 undefined2 10 ;XREF[1]: 00413a90(R)
;param_5 undefined2 14 ;XREF[1]: 00413a8d(R)
;XREF[2]: 00412887(c),00413ae8(c)
CODE:00413a88 55 PUSH EBP
CODE:00413a89 8bec MOV EBP,ESP
CODE:00413a8b 53 PUSH EBX
CODE:00413a8c 56 PUSH ESI
CODE:00413a8d 8b7518 MOV ESI,dword ptr [EBP + param_5+0x4]
CODE:00413a90 8b5d14 MOV EBX,dword ptr [EBP + param_4+0x4]
CODE:00413a93 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
CODE:00413a96 8b550c MOV EDX,dword ptr [EBP + param_2+0x4]
CODE:00413a99 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
CODE:00413a9c 6685d2 TEST DX,DX
CODE:00413a9f 7c03 JL LAB_00413aa4
CODE:00413aa1 668910 MOV word ptr [EAX],DX
LAB_00413aa4: ;XREF[1]: 00413a9f(j)
CODE:00413aa4 6685db TEST BX,BX
CODE:00413aa7 7c08 JL LAB_00413ab1
CODE:00413aa9 662b18 SUB BX,word ptr [EAX]
CODE:00413aac 43 INC EBX
CODE:00413aad 66895804 MOV word ptr [EAX + 0x4],BX
LAB_00413ab1: ;XREF[1]: 00413aa7(j)
CODE:00413ab1 6685c9 TEST CX,CX
CODE:00413ab4 7c04 JL LAB_00413aba
CODE:00413ab6 66894802 MOV word ptr [EAX + 0x2],CX
LAB_00413aba: ;XREF[1]: 00413ab4(j)
CODE:00413aba 6685f6 TEST SI,SI
CODE:00413abd 7c09 JL LAB_00413ac8
CODE:00413abf 662b7002 SUB SI,word ptr [EAX + 0x2]
CODE:00413ac3 46 INC ESI
CODE:00413ac4 66897006 MOV word ptr [EAX + 0x6],SI
LAB_00413ac8: ;XREF[1]: 00413abd(j)
CODE:00413ac8 5e POP ESI
CODE:00413ac9 5b POP EBX
CODE:00413aca 5d POP EBP
CODE:00413acb c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void FUN_00413acc(undefined2 param_1, undefined2 param_2, undefined2 param_3, undefined2 param_4)
;param_1 undefined2 4 ;XREF[1]: 00413ade(R)
;param_2 undefined2 8 ;XREF[1]: 00413ad9(R)
;param_3 undefined2 c ;XREF[1]: 00413ad4(R)
;param_4 undefined2 10 ;XREF[1]: 00413acf(R)
;XREF[3]: 004128ab(c),0044f014(c),0044f4b6(c)
CODE:00413acc 55 PUSH EBP
CODE:00413acd 8bec MOV EBP,ESP
CODE:00413acf 668b4514 MOV AX,word ptr [EBP + param_4+0x4]
CODE:00413ad3 50 PUSH EAX
CODE:00413ad4 668b4510 MOV AX,word ptr [EBP + param_3+0x4]
CODE:00413ad8 50 PUSH EAX
CODE:00413ad9 668b450c MOV AX,word ptr [EBP + param_2+0x4]
CODE:00413add 50 PUSH EAX
CODE:00413ade 668b4508 MOV AX,word ptr [EBP + param_1+0x4]
CODE:00413ae2 50 PUSH EAX
CODE:00413ae3 68da574600 PUSH DATA:DAT_004657da ;= ??
CODE:00413ae8 e89bffffff CALL FUN_00413a88 ;void FUN_00413a88(undefined4 param_1...
CODE:00413aed 83c414 ADD ESP,0x14
CODE:00413af0 5d POP EBP
CODE:00413af1 c3 RET
CODE:00413af2 90 ?? 90h
CODE:00413af3 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413af4(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined2 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined2 0043b60b(c),0043b672(c),0044dbd8(c)
CODE:00413af4 55 PUSH EBP
CODE:00413af5 8bec MOV EBP,ESP
CODE:00413af7 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413afa 85c0 TEST EAX,EAX
CODE:00413afc 7408 JZ LAB_00413b06
CODE:00413afe 668b550c MOV DX,word ptr [EBP + Stack[0x8]+0x4]
CODE:00413b02 6689506e MOV word ptr [EAX + 0x6e],DX
LAB_00413b06: ;XREF[1]: 00413afc(j)
CODE:00413b06 5d POP EBP
CODE:00413b07 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413b08(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5, undefined2 param_6)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 ;param_6 undefined2 00422217(c),00422471(c),004262f4(c),00434c41(c),
; 004410d9(c),004411c0(c),004412bf(c),004413e0(c),
; 0044144f(c),00441bf7(c)
CODE:00413b08 55 PUSH EBP
CODE:00413b09 8bec MOV EBP,ESP
CODE:00413b0b 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413b0e 85c0 TEST EAX,EAX
CODE:00413b10 740e JZ LAB_00413b20
CODE:00413b12 668b5510 MOV DX,word ptr [EBP + Stack[0xc]+0x4]
CODE:00413b16 6689502e MOV word ptr [EAX + 0x2e],DX
CODE:00413b1a 8b550c MOV EDX,dword ptr [EBP + Stack[0x8]+0x4]
CODE:00413b1d 895030 MOV dword ptr [EAX + 0x30],EDX
LAB_00413b20: ;XREF[1]: 00413b10(j)
CODE:00413b20 5d POP EBP
CODE:00413b21 c3 RET
CODE:00413b22 90 ?? 90h
CODE:00413b23 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413b24(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5, undefined2 param_6)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 ;param_6 undefined2 0041587d(c),00415892(c),00418d5f(c),00419c26(c),
; 0043ce38(c),0043e704(c),0043e719(c),0044f8ef(c),
; 0044f95e(c),0044fa2b(c)
CODE:00413b24 55 PUSH EBP
CODE:00413b25 8bec MOV EBP,ESP
CODE:00413b27 53 PUSH EBX
CODE:00413b28 56 PUSH ESI
CODE:00413b29 57 PUSH EDI
CODE:00413b2a 8b750c MOV ESI,dword ptr [EBP + Stack[0x8]+0x4]
CODE:00413b2d 8b4d08 MOV ECX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413b30 85c9 TEST ECX,ECX
CODE:00413b32 744f JZ LAB_00413b83
CODE:00413b34 8d415a LEA EAX,[ECX + 0x5a]
CODE:00413b37 66bb0100 MOV BX,0x1
CODE:00413b3b 85f6 TEST ESI,ESI
CODE:00413b3d 7501 JNZ LAB_00413b40
CODE:00413b3f 4b DEC EBX
LAB_00413b40: ;XREF[1]: 00413b3d(j)
CODE:00413b40 33d2 XOR EDX,EDX
CODE:00413b42 eb2e JMP LAB_00413b72
LAB_00413b44: ;XREF[1]: 00413b76(j)
CODE:00413b44 6685db TEST BX,BX
CODE:00413b47 7415 JZ LAB_00413b5e
CODE:00413b49 0fbf38 MOVSX EDI,word ptr [EAX]
CODE:00413b4c 8d3cff LEA EDI,[EDI + EDI*0x8]
CODE:00413b4f 66810cbd1... OR word ptr [EDI*0x...,0x800
CODE:00413b59 83c002 ADD EAX,0x2
CODE:00413b5c eb13 JMP LAB_00413b71
LAB_00413b5e: ;XREF[1]: 00413b47(j)
CODE:00413b5e 0fbf38 MOVSX EDI,word ptr [EAX]
CODE:00413b61 8d3cff LEA EDI,[EDI + EDI*0x8]
CODE:00413b64 668124bd1... AND word ptr [EDI*0x...,0xf7ff
CODE:00413b6e 83c002 ADD EAX,0x2
LAB_00413b71: ;XREF[1]: 00413b5c(j)
CODE:00413b71 42 INC EDX
LAB_00413b72: ;XREF[1]: 00413b42(j)
CODE:00413b72 663b5158 CMP DX,word ptr [ECX + 0x58]
CODE:00413b76 7ccc JL LAB_00413b44
CODE:00413b78 668b4510 MOV AX,word ptr [EBP + Stack[0xc]+0x4]
CODE:00413b7c 66894134 MOV word ptr [ECX + 0x34],AX
CODE:00413b80 897136 MOV dword ptr [ECX + 0x36],ESI
LAB_00413b83: ;XREF[1]: 00413b32(j)
CODE:00413b83 5f POP EDI
CODE:00413b84 5e POP ESI
CODE:00413b85 5b POP EBX
CODE:00413b86 5d POP EBP
CODE:00413b87 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00413b88(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6, undefined2 param_7, undefined1 param_8)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 ;param_6 undefined4 ;param_7 undefined2 ;param_8 undefined1 ;local_6 undefined2 -6 ;XREF[3]: 00413b9a(W),00413c27(W),00413ce8(R)
;local_8 undefined2 -8 ;XREF[3]: 00413c1a(W),00413c2d(R),00413c73(R)
;local_a undefined2 -a ;XREF[1]: 00413bf0(W)
;local_c undefined2 -c ;XREF[1]: 00413be8(W)
;local_e undefined2 -e ;XREF[1]: 00413be0(W)
;local_10 undefined2 -10 ;XREF[4]: 00413bdc(W),00413c0a(*),00413c5e(*),00413cc5(*)
;local_14 undefined4 -14 ;XREF[2]: 00413c07(W),00413c0e(R)
;XREF[21]: 00413d0c(c),00414496(c),004159b4(c),00415b97(c),
; 00415bb8(c),00415bd9(c),00417eee(c),00417fbb(c),
; 00417fd9(c),00418001(c),00418022(c),00418045(c),
; 00418066(c),0041808e(c),00418396(c),00418529(c),
; 0041854a(c),0043b952(c),0044bb40(c),0044f1e0(c),
; 0044f20c(c)
CODE:00413b88 55 PUSH EBP
CODE:00413b89 8bec MOV EBP,ESP
CODE:00413b8b 83c4f0 ADD ESP,-0x10
CODE:00413b8e 53 PUSH EBX
CODE:00413b8f 56 PUSH ESI
CODE:00413b90 57 PUSH EDI
CODE:00413b91 8b7d10 MOV EDI,dword ptr [EBP + Stack[0xc]+0x4]
CODE:00413b94 8b750c MOV ESI,dword ptr [EBP + Stack[0x8]+0x4]
CODE:00413b97 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413b9a 66c745fe0000 MOV word ptr [EBP + local_6+0x4],0x0
CODE:00413ba0 85c0 TEST EAX,EAX
CODE:00413ba2 0f8440010000 JZ LAB_00413ce8
CODE:00413ba8 8b5026 MOV EDX,dword ptr [EAX + 0x26]
CODE:00413bab 668b4a0a MOV CX,word ptr [EDX + 0xa]
CODE:00413baf 663b4d14 CMP CX,word ptr [EBP + Stack[0x10]+0x4]
CODE:00413bb3 0f8e2f010000 JLE LAB_00413ce8
CODE:00413bb9 0fbf4d14 MOVSX ECX,word ptr [EBP + Stack[0x10]+0x4]
CODE:00413bbd 8b5a16 MOV EBX,dword ptr [EDX + 0x16]
CODE:00413bc0 8b1c8b MOV EBX,dword ptr [EBX + ECX*0x4]
CODE:00413bc3 035a12 ADD EBX,dword ptr [EDX + 0x12]
CODE:00413bc6 6681fe0080 CMP SI,0x8000
CODE:00413bcb 7504 JNZ LAB_00413bd1
CODE:00413bcd 668b7008 MOV SI,word ptr [EAX + 0x8]
LAB_00413bd1: ;XREF[1]: 00413bcb(j)
CODE:00413bd1 6681ff0080 CMP DI,0x8000
CODE:00413bd6 7504 JNZ LAB_00413bdc
CODE:00413bd8 668b780a MOV DI,word ptr [EAX + 0xa]
LAB_00413bdc: ;XREF[1]: 00413bd6(j)
CODE:00413bdc 668975f4 MOV word ptr [EBP + local_10+0x4],SI
CODE:00413be0 66897df6 MOV word ptr [EBP + local_e+0x4],DI
CODE:00413be4 668b5302 MOV DX,word ptr [EBX + 0x2]
CODE:00413be8 668955f8 MOV word ptr [EBP + local_c+0x4],DX
CODE:00413bec 668b5304 MOV DX,word ptr [EBX + 0x4]
CODE:00413bf0 668955fa MOV word ptr [EBP + local_a+0x4],DX
CODE:00413bf4 6683786e00 CMP word ptr [EAX + 0x6e],0x0
CODE:00413bf9 7407 JZ LAB_00413c02
CODE:00413bfb b8da574600 MOV EAX,DATA:DAT_004657da ;= ??
CODE:00413c00 eb05 JMP LAB_00413c07
LAB_00413c02: ;XREF[1]: 00413bf9(j)
CODE:00413c02 b8e2574600 MOV EAX,DATA:DAT_004657e2 ;= ??
LAB_00413c07: ;XREF[1]: 00413c00(j)
; FWD[3]: Stack[-0x14](W),004657da(*),004657e2(*)
CODE:00413c07 8945f0 MOV dword ptr [EBP +...,EAX=>DATA:DAT_004...;= ??
CODE:00413c0a 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
CODE:00413c0d 50 PUSH EAX
; FWD[3]: Stack[-0x14](R),004657da(*),004657e2(*)
CODE:00413c0e 8b45f0 MOV EAX=>DATA:DAT_00...,dword ptr [EBP + ...;= ??
; FWD[2]: 004657da(*),004657e2(*)
CODE:00413c11 50 PUSH EAX=>DATA:DAT_004657da ;= ??
CODE:00413c12 e825e7ffff CALL FUN_0041233c ;uint FUN_0041233c(undefined4 param_1...
CODE:00413c17 83c408 ADD ESP,0x8
CODE:00413c1a 668945fc MOV word ptr [EBP + local_8+0x4],AX
CODE:00413c1e 6685c0 TEST AX,AX
CODE:00413c21 0f8482000000 JZ LAB_00413ca9
CODE:00413c27 66c745fe0100 MOV word ptr [EBP + local_6+0x4],0x1
CODE:00413c2d f645fc02 TEST byte ptr [EBP + local_8+0x4],0x2
CODE:00413c31 740d JZ LAB_00413c40
CODE:00413c33 53 PUSH EBX
CODE:00413c34 57 PUSH EDI
CODE:00413c35 56 PUSH ESI
CODE:00413c36 e879d90100 CALL FUN_004315b4 ;undefined FUN_004315b4(undefined par...
CODE:00413c3b 83c40c ADD ESP,0xc
CODE:00413c3e eb1e JMP LAB_00413c5e
LAB_00413c40: ;XREF[1]: 00413c31(j)
CODE:00413c40 f6451801 TEST byte ptr [EBP + Stack[0x14]+0x4],0x1
CODE:00413c44 740d JZ LAB_00413c53
CODE:00413c46 53 PUSH EBX
CODE:00413c47 57 PUSH EDI
CODE:00413c48 56 PUSH ESI
CODE:00413c49 e89de0ffff CALL FUN_00411ceb ;undefined FUN_00411ceb(void)
CODE:00413c4e 83c40c ADD ESP,0xc
CODE:00413c51 eb0b JMP LAB_00413c5e
LAB_00413c53: ;XREF[1]: 00413c44(j)
CODE:00413c53 53 PUSH EBX
CODE:00413c54 57 PUSH EDI
CODE:00413c55 56 PUSH ESI
CODE:00413c56 e889ddffff CALL FUN_004119e4 ;undefined FUN_004119e4(void)
CODE:00413c5b 83c40c ADD ESP,0xc
LAB_00413c5e: ;XREF[2]: 00413c3e(j),00413c51(j)
CODE:00413c5e 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
CODE:00413c61 50 PUSH EAX
CODE:00413c62 e8f5cc0100 CALL Draw::DirtyRect ;void DirtyRect(Rect16 * rectOptional)
CODE:00413c67 59 POP ECX
CODE:00413c68 f6451802 TEST byte ptr [EBP + Stack[0x14]+0x4],0x2
CODE:00413c6c 743b JZ LAB_00413ca9
CODE:00413c6e e8add70100 CALL FUN_00431420 ;undefined FUN_00431420(void)
CODE:00413c73 f645fc02 TEST byte ptr [EBP + local_8+0x4],0x2
CODE:00413c77 740d JZ LAB_00413c86
CODE:00413c79 53 PUSH EBX
CODE:00413c7a 57 PUSH EDI
CODE:00413c7b 56 PUSH ESI
CODE:00413c7c e833d90100 CALL FUN_004315b4 ;undefined FUN_004315b4(undefined par...
CODE:00413c81 83c40c ADD ESP,0xc
CODE:00413c84 eb1e JMP LAB_00413ca4
LAB_00413c86: ;XREF[1]: 00413c77(j)
CODE:00413c86 f6451801 TEST byte ptr [EBP + Stack[0x14]+0x4],0x1
CODE:00413c8a 740d JZ LAB_00413c99
CODE:00413c8c 53 PUSH EBX
CODE:00413c8d 57 PUSH EDI
CODE:00413c8e 56 PUSH ESI
CODE:00413c8f e857e0ffff CALL FUN_00411ceb ;undefined FUN_00411ceb(void)
CODE:00413c94 83c40c ADD ESP,0xc
CODE:00413c97 eb0b JMP LAB_00413ca4
LAB_00413c99: ;XREF[1]: 00413c8a(j)
CODE:00413c99 53 PUSH EBX
CODE:00413c9a 57 PUSH EDI
CODE:00413c9b 56 PUSH ESI
CODE:00413c9c e843ddffff CALL FUN_004119e4 ;undefined FUN_004119e4(void)
CODE:00413ca1 83c40c ADD ESP,0xc
LAB_00413ca4: ;XREF[2]: 00413c84(j),00413c97(j)
CODE:00413ca4 e82fd70100 CALL FUN_004313d8 ;undefined FUN_004313d8(void)
LAB_00413ca9: ;XREF[2]: 00413c21(j),00413c6c(j)
CODE:00413ca9 f6451804 TEST byte ptr [EBP + Stack[0x14]+0x4],0x4
CODE:00413cad 7539 JNZ LAB_00413ce8
CODE:00413caf a120574600 MOV EAX,[DATA:Dlist_00465720] ;= ??
CODE:00413cb4 50 PUSH EAX
CODE:00413cb5 e82e140200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:00413cba 59 POP ECX
CODE:00413cbb 8bd8 MOV EBX,EAX
CODE:00413cbd 85db TEST EBX,EBX
CODE:00413cbf 7427 JZ LAB_00413ce8
LAB_00413cc1: ;XREF[1]: 00413ce6(j)
CODE:00413cc1 8d430e LEA EAX,[EBX + 0xe]
CODE:00413cc4 50 PUSH EAX
CODE:00413cc5 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
CODE:00413cc8 50 PUSH EAX
CODE:00413cc9 e802e6ffff CALL Rect16::intersects ;short intersects(Rect16 * p, Rect16 ...
CODE:00413cce 83c408 ADD ESP,0x8
CODE:00413cd1 6685c0 TEST AX,AX
CODE:00413cd4 7405 JZ LAB_00413cdb
CODE:00413cd6 66834b0c40 OR word ptr [EBX + 0xc],0x40
LAB_00413cdb: ;XREF[1]: 00413cd4(j)
CODE:00413cdb 53 PUSH EBX
CODE:00413cdc e82c140200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00413ce1 59 POP ECX
CODE:00413ce2 8bd8 MOV EBX,EAX
CODE:00413ce4 85db TEST EBX,EBX
CODE:00413ce6 75d9 JNZ LAB_00413cc1
LAB_00413ce8: ;XREF[4]: 00413ba2(j),00413bb3(j),00413cad(j),00413cbf(j)
CODE:00413ce8 668b45fe MOV AX,word ptr [EBP + local_6+0x4]
CODE:00413cec 5f POP EDI
CODE:00413ced 5e POP ESI
CODE:00413cee 5b POP EBX
CODE:00413cef 8be5 MOV ESP,EBP
CODE:00413cf1 5d POP EBP
CODE:00413cf2 c3 RET
CODE:00413cf3 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413cf4(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined2 param_5, undefined2 param_6, undefined2 param_7)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined2 ;param_6 undefined2 ;param_7 undefined2 0041ada8(c),00422036(c),004272f9(c),0042ed59(c),
; 00432605(c),004353e2(c),0043c7c3(c),0043caa3(c),
; 0043cd9d(c),0043d1d6(c),0043d54b(c),0043d65f(c),
; 0043d685(c),0043e158(c),0043e17e(c),00440cd5(c),
; 00444108(c),0044412b(c),00447a43(c),0044ba4b(c),
; 0044f0a9(c)
CODE:00413cf4 55 PUSH EBP
CODE:00413cf5 8bec MOV EBP,ESP
CODE:00413cf7 6a02 PUSH 0x2
CODE:00413cf9 668b4514 MOV AX,word ptr [EBP + Stack[0x10]+0x4]
CODE:00413cfd 50 PUSH EAX
CODE:00413cfe 668b4510 MOV AX,word ptr [EBP + Stack[0xc]+0x4]
CODE:00413d02 50 PUSH EAX
CODE:00413d03 668b450c MOV AX,word ptr [EBP + Stack[0x8]+0x4]
CODE:00413d07 50 PUSH EAX
CODE:00413d08 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413d0b 50 PUSH EAX
CODE:00413d0c e877feffff CALL FUN_00413b88 ;uint FUN_00413b88(undefined param_1,...
CODE:00413d11 83c414 ADD ESP,0x14
CODE:00413d14 5d POP EBP
CODE:00413d15 c3 RET
CODE:00413d16 90 ?? 90h
CODE:00413d17 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413d18(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5, undefined2 param_6, undefined2 param_7)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 ;param_6 undefined2 ;param_7 undefined2 004155fd(c),00415644(c),00415767(c),004157ef(c),
; 00434b07(c),00434b96(c),0043e86f(c),0043e939(c),
; 0043ea50(c),0043eae1(c)
CODE:00413d18 55 PUSH EBP
CODE:00413d19 8bec MOV EBP,ESP
CODE:00413d1b 56 PUSH ESI
CODE:00413d1c 8b550c MOV EDX,dword ptr [EBP + Stack[0x8]+0x4]
CODE:00413d1f 8b4d08 MOV ECX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413d22 8b412a MOV EAX,dword ptr [ECX + 0x2a]
CODE:00413d25 0fbff2 MOVSX ESI,DX
CODE:00413d28 66837cf00400 CMP word ptr [EAX + ESI*0x8 + 0x4],0x0
CODE:00413d2e 7c1f JL LAB_00413d4f
CODE:00413d30 8b4926 MOV ECX,dword ptr [ECX + 0x26]
CODE:00413d33 668b490a MOV CX,word ptr [ECX + 0xa]
CODE:00413d37 663b4d10 CMP CX,word ptr [EBP + Stack[0xc]+0x4]
CODE:00413d3b 7e12 JLE LAB_00413d4f
CODE:00413d3d 668b4d10 MOV CX,word ptr [EBP + Stack[0xc]+0x4]
CODE:00413d41 66894cf004 MOV word ptr [EAX + ESI*0x8 + 0x4],CX
CODE:00413d46 668b5514 MOV DX,word ptr [EBP + Stack[0x10]+0x4]
CODE:00413d4a 668954f006 MOV word ptr [EAX + ESI*0x8 + 0x6],DX
LAB_00413d4f: ;XREF[2]: 00413d2e(j),00413d3b(j)
CODE:00413d4f 5e POP ESI
CODE:00413d50 5d POP EBP
CODE:00413d51 c3 RET
CODE:00413d52 90 ?? 90h
CODE:00413d53 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413d54(undefined4 param_1, undefined4 param_2, uint param_3, int param_4, short * param_5, short * param_6, short param_7)
;param_1 undefined4 EAX
;param_2 undefined4 EDX
;param_3 uint ECX
;param_4 int 4 ;XREF[1]: 00413d63(R)
;param_5 short * 8 ;XREF[2]: 00413d7c(R),00413d8e(RW)
;param_6 short * c ;XREF[1]: 00413d60(R)
;param_7 short 10 ;XREF[3]: 00413d9e(R),00413df8(R),00413e05(R)
;local_104 undefined1 -104 ;XREF[4]: 00413d68(*),00413d6e(*),00413da9(*),00413dfe(*)
CODE:00413d54 55 PUSH EBP
CODE:00413d55 8bec MOV EBP,ESP
CODE:00413d57 81c400ffffff ADD ESP,0xffffff00
CODE:00413d5d 53 PUSH EBX
CODE:00413d5e 56 PUSH ESI
CODE:00413d5f 57 PUSH EDI
CODE:00413d60 8b4510 MOV param_1,dword ptr [EBP + param_6+0x4]
CODE:00413d63 8b7508 MOV ESI,dword ptr [EBP + param_4+0x4]
CODE:00413d66 33db XOR EBX,EBX
CODE:00413d68 8d9500ffffff LEA param_2=>local_104,[EBP + 0xffffff00]
LAB_00413d6e: ;XREF[1]: 00413d78(j)
CODE:00413d6e 881a MOV byte ptr [param_2]=>local_104,BL
CODE:00413d70 43 INC EBX
CODE:00413d71 42 INC param_2
CODE:00413d72 81fb00010000 CMP EBX,0x100
CODE:00413d78 7cf4 JL LAB_00413d6e
CODE:00413d7a eb16 JMP LAB_00413d92
LAB_00413d7c: ;XREF[1]: 00413d96(j)
CODE:00413d7c 8b550c MOV param_2,dword ptr [EBP + param_5+0x4]
CODE:00413d7f 0fbf12 MOVSX param_2,word ptr [param_2]
CODE:00413d82 8a08 MOV param_3,byte ptr [param_1]
CODE:00413d84 888c1500f... MOV byte ptr [EBP + ...,param_3
CODE:00413d8b 83c002 ADD param_1,0x2
CODE:00413d8e 83450c02 ADD dword ptr [EBP + param_5+0x4],0x2
LAB_00413d92: ;XREF[1]: 00413d7a(j)
CODE:00413d92 668338ff CMP word ptr [param_1],-0x1
CODE:00413d96 75e4 JNZ LAB_00413d7c
CODE:00413d98 8b4626 MOV param_1,dword ptr [ESI + 0x26]
CODE:00413d9b 8b7812 MOV EDI,dword ptr [param_1 + 0x12]
CODE:00413d9e 66837d14ff CMP word ptr [EBP + param_7+0x4],-0x1
CODE:00413da3 754c JNZ LAB_00413df1
CODE:00413da5 33db XOR EBX,EBX
CODE:00413da7 eb19 JMP LAB_00413dc2
LAB_00413da9: ;XREF[1]: 00413dcb(j)
CODE:00413da9 8d9500ffffff LEA param_2=>local_104,[EBP + 0xffffff00]
CODE:00413daf 52 PUSH param_2
CODE:00413db0 8b4016 MOV param_1,dword ptr [param_1 + 0x16]
CODE:00413db3 8b0498 MOV param_1,dword ptr [param_1 + EBX*0x4]
CODE:00413db6 03c7 ADD param_1,EDI
CODE:00413db8 50 PUSH param_1
CODE:00413db9 e861dbffff CALL FUN_0041191f ;undefined FUN_0041191f(undefined4 pa...
CODE:00413dbe 83c408 ADD ESP,0x8
CODE:00413dc1 43 INC EBX
LAB_00413dc2: ;XREF[1]: 00413da7(j)
CODE:00413dc2 8b4626 MOV param_1,dword ptr [ESI + 0x26]
CODE:00413dc5 0fbf500a MOVSX param_2,word ptr [param_1 + 0xa]
CODE:00413dc9 3bda CMP EBX,param_2
CODE:00413dcb 7cdc JL LAB_00413da9
CODE:00413dcd 33db XOR EBX,EBX
CODE:00413dcf 8d465a LEA param_1,[ESI + 0x5a]
CODE:00413dd2 eb13 JMP LAB_00413de7
LAB_00413dd4: ;XREF[1]: 00413ded(j)
CODE:00413dd4 0fbf10 MOVSX param_2,word ptr [param_1]
CODE:00413dd7 8d14d2 LEA param_2,[EDX + EDX*0x8]
CODE:00413dda 66830c951... OR word ptr [param_...,0x4
CODE:00413de3 43 INC EBX
CODE:00413de4 83c002 ADD param_1,0x2
LAB_00413de7: ;XREF[1]: 00413dd2(j)
CODE:00413de7 0fbf5658 MOVSX param_2,word ptr [ESI + 0x58]
CODE:00413deb 3bda CMP EBX,param_2
CODE:00413ded 7ce5 JL LAB_00413dd4
CODE:00413def eb27 JMP LAB_00413e18
LAB_00413df1: ;XREF[1]: 00413da3(j)
CODE:00413df1 8b4626 MOV param_1,dword ptr [ESI + 0x26]
CODE:00413df4 668b500a MOV param_2,word ptr [param_1 + 0xa]
CODE:00413df8 663b5514 CMP param_2,word ptr [EBP + param_7+0x4]
CODE:00413dfc 7e1a JLE LAB_00413e18
CODE:00413dfe 8d9500ffffff LEA param_2=>local_104,[EBP + 0xffffff00]
CODE:00413e04 52 PUSH param_2
CODE:00413e05 0fbf5514 MOVSX param_2,word ptr [EBP + param_7+0x4]
CODE:00413e09 8b4016 MOV param_1,dword ptr [param_1 + 0x16]
CODE:00413e0c 033c90 ADD EDI,dword ptr [param_1 + param_2*0x4]
CODE:00413e0f 57 PUSH EDI
CODE:00413e10 e80adbffff CALL FUN_0041191f ;undefined FUN_0041191f(undefined4 pa...
CODE:00413e15 83c408 ADD ESP,0x8
LAB_00413e18: ;XREF[2]: 00413def(j),00413dfc(j)
CODE:00413e18 5f POP EDI
CODE:00413e19 5e POP ESI
CODE:00413e1a 5b POP EBX
CODE:00413e1b 8be5 MOV ESP,EBP
CODE:00413e1d 5d POP EBP
CODE:00413e1e c3 RET
CODE:00413e1f 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413e20(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 004138da(c),004213cb(c),0043970b(c),0044f8dc(c),
; 0044f94b(c)
CODE:00413e20 55 PUSH EBP
CODE:00413e21 8bec MOV EBP,ESP
CODE:00413e23 53 PUSH EBX
CODE:00413e24 8b4d08 MOV ECX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413e27 85c9 TEST ECX,ECX
CODE:00413e29 7420 JZ LAB_00413e4b
CODE:00413e2b 8b416a MOV EAX,dword ptr [ECX + 0x6a]
CODE:00413e2e 33d2 XOR EDX,EDX
CODE:00413e30 eb13 JMP LAB_00413e45
LAB_00413e32: ;XREF[1]: 00413e49(j)
CODE:00413e32 0fbf18 MOVSX EBX,word ptr [EAX]
CODE:00413e35 8d1cdb LEA EBX,[EBX + EBX*0x8]
CODE:00413e38 66830c9d1... OR word ptr [EBX*0x...,0x4
CODE:00413e41 83c002 ADD EAX,0x2
CODE:00413e44 42 INC EDX
LAB_00413e45: ;XREF[1]: 00413e30(j)
CODE:00413e45 663b5158 CMP DX,word ptr [ECX + 0x58]
CODE:00413e49 7ce7 JL LAB_00413e32
LAB_00413e4b: ;XREF[1]: 00413e29(j)
CODE:00413e4b 5b POP EBX
CODE:00413e4c 5d POP EBP
CODE:00413e4d c3 RET
CODE:00413e4e 90 ?? 90h
CODE:00413e4f 90 ?? 90h
CODE:00413e50 a1 ?? A1h
CODE:00413e51 20 ?? 20h ;? -> 00465720
CODE:00413e52 57 ?? 57h W
CODE:00413e53 46 ?? 46h F
CODE:00413e54 00 ?? 00h
CODE:00413e55 50 ?? 50h P
CODE:00413e56 e8 ?? E8h
CODE:00413e57 8d ?? 8Dh
CODE:00413e58 12 ?? 12h
CODE:00413e59 02 ?? 02h
CODE:00413e5a 00 ?? 00h
CODE:00413e5b 59 ?? 59h Y
CODE:00413e5c 85 ?? 85h
CODE:00413e5d c0 ?? C0h
CODE:00413e5e 74 ?? 74h t
CODE:00413e5f 10 ?? 10h
CODE:00413e60 66 ?? 66h f
CODE:00413e61 83 ?? 83h
CODE:00413e62 48 ?? 48h H
CODE:00413e63 0c ?? 0Ch
CODE:00413e64 40 ?? 40h @
CODE:00413e65 50 ?? 50h P
CODE:00413e66 e8 ?? E8h
CODE:00413e67 a2 ?? A2h
CODE:00413e68 12 ?? 12h
CODE:00413e69 02 ?? 02h
CODE:00413e6a 00 ?? 00h
CODE:00413e6b 59 ?? 59h Y
CODE:00413e6c 85 ?? 85h
CODE:00413e6d c0 ?? C0h
CODE:00413e6e 75 ?? 75h u
CODE:00413e6f f0 ?? F0h
CODE:00413e70 c3 ?? C3h
CODE:00413e71 90 ?? 90h
CODE:00413e72 90 ?? 90h
CODE:00413e73 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413e74(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 0043b9c8(c)
CODE:00413e74 55 PUSH EBP
CODE:00413e75 8bec MOV EBP,ESP
CODE:00413e77 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413e7a a360024600 MOV [DATA:DAT_00460260],EAX
CODE:00413e7f 5d POP EBP
CODE:00413e80 c3 RET
CODE:00413e81 90 ?? 90h
CODE:00413e82 90 ?? 90h
CODE:00413e83 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00413e84(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 0044e503(c),0044e50f(c),0044e51b(c),0044e527(c),
; 0044e5ff(c),0044e60b(c),0044e617(c),0044e623(c)
CODE:00413e84 55 PUSH EBP
CODE:00413e85 8bec MOV EBP,ESP
CODE:00413e87 53 PUSH EBX
CODE:00413e88 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413e8b 85c0 TEST EAX,EAX
CODE:00413e8d 7426 JZ LAB_00413eb5
CODE:00413e8f 66c740181000 MOV word ptr [EAX + 0x18],0x10
CODE:00413e95 8b506a MOV EDX,dword ptr [EAX + 0x6a]
CODE:00413e98 33c9 XOR ECX,ECX
CODE:00413e9a eb13 JMP LAB_00413eaf
LAB_00413e9c: ;XREF[1]: 00413eb3(j)
CODE:00413e9c 0fbf1a MOVSX EBX,word ptr [EDX]
CODE:00413e9f 8d1cdb LEA EBX,[EBX + EBX*0x8]
CODE:00413ea2 6683249d1... AND word ptr [EBX*0x...,0xfffd
CODE:00413eab 83c202 ADD EDX,0x2
CODE:00413eae 41 INC ECX
LAB_00413eaf: ;XREF[1]: 00413e9a(j)
CODE:00413eaf 663b4858 CMP CX,word ptr [EAX + 0x58]
CODE:00413eb3 7ce7 JL LAB_00413e9c
LAB_00413eb5: ;XREF[1]: 00413e8d(j)
CODE:00413eb5 668b4010 MOV AX,word ptr [EAX + 0x10]
CODE:00413eb9 5b POP EBX
CODE:00413eba 5d POP EBP
CODE:00413ebb c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00413ebc(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 00417331(c),0043def8(c)
CODE:00413ebc 55 PUSH EBP
CODE:00413ebd 8bec MOV EBP,ESP
CODE:00413ebf 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413ec2 85c0 TEST EAX,EAX
CODE:00413ec4 7405 JZ LAB_00413ecb
CODE:00413ec6 83c03a ADD EAX,0x3a
CODE:00413ec9 eb02 JMP LAB_00413ecd
LAB_00413ecb: ;XREF[1]: 00413ec4(j)
CODE:00413ecb 33c0 XOR EAX,EAX
LAB_00413ecd: ;XREF[1]: 00413ec9(j)
CODE:00413ecd 5d POP EBP
CODE:00413ece c3 RET
CODE:00413ecf 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined2 FUN_00413ed0(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1]: 00413ed3(R)
;XREF[21]: 00413393(c),004166da(c),0041670f(c),00419ca7(c),
; 00419cb8(c),004324c7(c),004324dd(c),0043c9cb(c),
; 0043ca02(c),0043cbdf(c),0043d2fd(c),0043d349(c),
; 0043d389(c),0043d3ca(c),0043d416(c),0043d456(c),
; 0043d507(c),0043f0d3(c),0043f0e4(c),0044c802(c),
; 0044c813(c)
CODE:00413ed0 55 PUSH EBP
CODE:00413ed1 8bec MOV EBP,ESP
CODE:00413ed3 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
CODE:00413ed6 85c0 TEST EAX,EAX
CODE:00413ed8 7406 JZ LAB_00413ee0
CODE:00413eda 668b4018 MOV AX,word ptr [EAX + 0x18]
CODE:00413ede eb04 JMP LAB_00413ee4
LAB_00413ee0: ;XREF[1]: 00413ed8(j)
CODE:00413ee0 66b80100 MOV AX,0x1
LAB_00413ee4: ;XREF[1]: 00413ede(j)
CODE:00413ee4 5d POP EBP
CODE:00413ee5 c3 RET
CODE:00413ee6 90 ?? 90h
CODE:00413ee7 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00413ee8(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined2 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined2 00421bb1(c),0042319a(c)
CODE:00413ee8 55 PUSH EBP
CODE:00413ee9 8bec MOV EBP,ESP
CODE:00413eeb 53 PUSH EBX
CODE:00413eec 56 PUSH ESI
CODE:00413eed 66837d0c01 CMP word ptr [EBP + Stack[0x8]+0x4],0x1
CODE:00413ef2 0f95c0 SETNZ AL
CODE:00413ef5 83e001 AND EAX,0x1
CODE:00413ef8 0fb7d0 MOVZX EDX,AX
CODE:00413efb 03d2 ADD EDX,EDX
CODE:00413efd 8d14d5465... LEA EDX,[EDX*0x8 + DATA:DAT_00465746] ;= ??
CODE:00413f04 6683f80a CMP AX,0xa
CODE:00413f08 7323 JNC LAB_00413f2d
LAB_00413f0a: ;XREF[1]: 00413f2b(j)
; FWD[2]: 00465746(R),00465766(R)
CODE:00413f0a 66833a00 CMP word ptr [EDX],0x0=>DATA:DAT_00465746 ;= ??
CODE:00413f0e 7510 JNZ LAB_00413f20
CODE:00413f10 0fb7f0 MOVZX ESI,AX
CODE:00413f13 c1e604 SHL ESI,0x4
CODE:00413f16 81c638574600 ADD ESI,DATA:DAT_00465738 ;= ??
CODE:00413f1c 8bd8 MOV EBX,EAX
CODE:00413f1e eb0d JMP LAB_00413f2d
LAB_00413f20: ;XREF[1]: 00413f0e(j)
CODE:00413f20 6683c002 ADD AX,0x2
CODE:00413f24 83c220 ADD EDX,0x20
CODE:00413f27 6683f80a CMP AX,0xa
CODE:00413f2b 72dd JC LAB_00413f0a
LAB_00413f2d: ;XREF[2]: 00413f08(j),00413f1e(j)
CODE:00413f2d 66837d0c01 CMP word ptr [EBP + Stack[0x8]+0x4],0x1
CODE:00413f32 751a JNZ LAB_00413f4e
CODE:00413f34 a130574600 MOV EAX,[DATA:Dlist_00465730] ;= ??
CODE:00413f39 f6c301 TEST BL,0x1
CODE:00413f3c 7428 JZ LAB_00413f66
CODE:00413f3e 668b1d5a0... MOV BX,word ptr [DATA:DAT_0046025a]
CODE:00413f45 66ff055a0... INC word ptr [DATA:DAT_0046025a]
CODE:00413f4c eb18 JMP LAB_00413f66
LAB_00413f4e: ;XREF[1]: 00413f32(j)
CODE:00413f4e a134574600 MOV EAX,[DATA:Dlist_00465734] ;= ??
CODE:00413f53 f6c301 TEST BL,0x1
CODE:00413f56 750e JNZ LAB_00413f66
CODE:00413f58 668b1d5a0... MOV BX,word ptr [DATA:DAT_0046025a]
CODE:00413f5f 66ff055a0... INC word ptr [DATA:DAT_0046025a]
LAB_00413f66: ;XREF[3]: 00413f3c(j),00413f4c(j),00413f56(j)
CODE:00413f66 66895e0c MOV word ptr [ESI + ...,BX=>DATA:DAT_0046...;= ??
CODE:00413f6a 8b5508 MOV EDX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413f6d 895608 MOV dword ptr [ESI +...,EDX=>DATA:DAT_004...;= ??
CODE:00413f70 68ffff0000 PUSH 0xffff
CODE:00413f75 56 PUSH ESI
CODE:00413f76 50 PUSH EAX
CODE:00413f77 e84b120200 CALL DlistInsert ;void DlistInsert(Dlist * list, Dlist...
CODE:00413f7c 83c40c ADD ESP,0xc
CODE:00413f7f 8bc3 MOV EAX,EBX
CODE:00413f81 5e POP ESI
CODE:00413f82 5b POP EBX
CODE:00413f83 5d POP EBP
CODE:00413f84 c3 RET
CODE:00413f85 90 ?? 90h
CODE:00413f86 90 ?? 90h
CODE:00413f87 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413f88(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 0041b354(c),0041b3da(c),00421d52(c),00421f99(c),
; 00422dfd(c),00422ef9(c),00422f6c(c),004232b0(c),
; 0042340c(c),00425faf(c),004260f8(c),00426186(c)
CODE:00413f88 55 PUSH EBP
CODE:00413f89 8bec MOV EBP,ESP
CODE:00413f8b 53 PUSH EBX
CODE:00413f8c 56 PUSH ESI
CODE:00413f8d 8b5d08 MOV EBX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00413f90 f6c301 TEST BL,0x1
CODE:00413f93 7408 JZ LAB_00413f9d
CODE:00413f95 8b3534574600 MOV ESI,dword ptr [DATA:Dlist_00465734] ;= ??
CODE:00413f9b eb06 JMP LAB_00413fa3
LAB_00413f9d: ;XREF[1]: 00413f93(j)
CODE:00413f9d 8b3530574600 MOV ESI,dword ptr [DATA:Dlist_00465730] ;= ??
LAB_00413fa3: ;XREF[1]: 00413f9b(j)
CODE:00413fa3 56 PUSH ESI
CODE:00413fa4 e83f110200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:00413fa9 59 POP ECX
CODE:00413faa 85c0 TEST EAX,EAX
CODE:00413fac 7428 JZ LAB_00413fd6
LAB_00413fae: ;XREF[1]: 00413fd4(j)
CODE:00413fae 0fb7500c MOVZX EDX,word ptr [EAX + 0xc]
CODE:00413fb2 0fbfcb MOVSX ECX,BX
CODE:00413fb5 3bd1 CMP EDX,ECX
CODE:00413fb7 7512 JNZ LAB_00413fcb
CODE:00413fb9 66c7400e0000 MOV word ptr [EAX + 0xe],0x0
CODE:00413fbf 50 PUSH EAX
CODE:00413fc0 56 PUSH ESI
CODE:00413fc1 e884120200 CALL DlistRemove ;void DlistRemove(Dlist * list, Dlist...
CODE:00413fc6 83c408 ADD ESP,0x8
CODE:00413fc9 eb0b JMP LAB_00413fd6
LAB_00413fcb: ;XREF[1]: 00413fb7(j)
CODE:00413fcb 50 PUSH EAX
CODE:00413fcc e83c110200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00413fd1 59 POP ECX
CODE:00413fd2 85c0 TEST EAX,EAX
CODE:00413fd4 75d8 JNZ LAB_00413fae
LAB_00413fd6: ;XREF[2]: 00413fac(j),00413fc9(j)
CODE:00413fd6 5e POP ESI
CODE:00413fd7 5b POP EBX
CODE:00413fd8 5d POP EBP
CODE:00413fd9 c3 RET
CODE:00413fda 90 ?? 90h
CODE:00413fdb 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00413fdc(undefined param_1, undefined param_2, undefined param_3, undefined2 param_4, undefined2 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined2 ;param_5 undefined2 ;local_6 undefined2 -6 ;XREF[1]: 00413ffd(W)
;local_8 undefined2 -8 ;XREF[1]: 00413ff7(W)
;local_a undefined2 -a ;XREF[1]: 00413ff3(W)
;local_c undefined2 -c ;XREF[2]: 00413feb(W),00414017(*)
;local_e undefined2 -e ;XREF[2]: 00414047(W),0041404f(R)
;XREF[1]: 00416ae5(c)
CODE:00413fdc 55 PUSH EBP
CODE:00413fdd 8bec MOV EBP,ESP
CODE:00413fdf 83c4f4 ADD ESP,-0xc
CODE:00413fe2 53 PUSH EBX
CODE:00413fe3 56 PUSH ESI
CODE:00413fe4 57 PUSH EDI
CODE:00413fe5 33ff XOR EDI,EDI
CODE:00413fe7 668b4508 MOV AX,word ptr [EBP + Stack[0x4]+0x4]
CODE:00413feb 668945f8 MOV word ptr [EBP + local_c+0x4],AX
CODE:00413fef 668b450c MOV AX,word ptr [EBP + Stack[0x8]+0x4]
CODE:00413ff3 668945fa MOV word ptr [EBP + local_a+0x4],AX
CODE:00413ff7 66c745fc0100 MOV word ptr [EBP + local_8+0x4],0x1
CODE:00413ffd 66c745fe0100 MOV word ptr [EBP + local_6+0x4],0x1
CODE:00414003 a120574600 MOV EAX,[DATA:Dlist_00465720] ;= ??
CODE:00414008 50 PUSH EAX
CODE:00414009 e8ec100200 CALL DlistTail ;undefined4 DlistTail(Dlist * list)
CODE:0041400e 59 POP ECX
CODE:0041400f 8bd8 MOV EBX,EAX
CODE:00414011 eb58 JMP LAB_0041406b
LAB_00414013: ;XREF[1]: 00414072(j)
CODE:00414013 8d430e LEA EAX,[EBX + 0xe]
CODE:00414016 50 PUSH EAX
CODE:00414017 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
CODE:0041401a 50 PUSH EAX
CODE:0041401b e8b0e2ffff CALL Rect16::intersects ;short intersects(Rect16 * p, Rect16 ...
CODE:00414020 83c408 ADD ESP,0x8
CODE:00414023 6685c0 TEST AX,AX
CODE:00414026 743a JZ LAB_00414062
CODE:00414028 668b7508 MOV SI,word ptr [EBP + Stack[0x4]+0x4]
CODE:0041402c 662b730e SUB SI,word ptr [EBX + 0xe]
CODE:00414030 f6430c80 TEST byte ptr [EBX + 0xc],0x80
CODE:00414034 7409 JZ LAB_0041403f
CODE:00414036 668b4312 MOV AX,word ptr [EBX + 0x12]
CODE:0041403a 662bc6 SUB AX,SI
CODE:0041403d 8bf0 MOV ESI,EAX
LAB_0041403f: ;XREF[1]: 00414034(j)
CODE:0041403f 668b450c MOV AX,word ptr [EBP + Stack[0x8]+0x4]
CODE:00414043 662b4310 SUB AX,word ptr [EBX + 0x10]
CODE:00414047 668945f6 MOV word ptr [EBP + local_e+0x4],AX
CODE:0041404b 8b4316 MOV EAX,dword ptr [EBX + 0x16]
CODE:0041404e 50 PUSH EAX
CODE:0041404f 668b45f6 MOV AX,word ptr [EBP + local_e+0x4]
CODE:00414053 50 PUSH EAX
CODE:00414054 56 PUSH ESI
CODE:00414055 e872db0100 CALL FUN_00431bcc ;short FUN_00431bcc(undefined param_1...
CODE:0041405a 83c40c ADD ESP,0xc
CODE:0041405d 6685c0 TEST AX,AX
CODE:00414060 7512 JNZ LAB_00414074
LAB_00414062: ;XREF[1]: 00414026(j)
CODE:00414062 53 PUSH EBX
CODE:00414063 e8af100200 CALL DlistPrev ;undefined4 DlistPrev(DlistNode * node)
CODE:00414068 59 POP ECX
CODE:00414069 8bd8 MOV EBX,EAX
LAB_0041406b: ;XREF[1]: 00414011(j)
CODE:0041406b 6685ff TEST DI,DI
CODE:0041406e 7504 JNZ LAB_00414074
CODE:00414070 85db TEST EBX,EBX
CODE:00414072 759f JNZ LAB_00414013
LAB_00414074: ;XREF[2]: 00414060(j),0041406e(j)
CODE:00414074 85db TEST EBX,EBX
CODE:00414076 7405 JZ LAB_0041407d
CODE:00414078 8b4320 MOV EAX,dword ptr [EBX + 0x20]
CODE:0041407b eb02 JMP LAB_0041407f
LAB_0041407d: ;XREF[1]: 00414076(j)
CODE:0041407d 33c0 XOR EAX,EAX
LAB_0041407f: ;XREF[1]: 0041407b(j)
CODE:0041407f 5f POP EDI
CODE:00414080 5e POP ESI
CODE:00414081 5b POP EBX
CODE:00414082 8be5 MOV ESP,EBP
CODE:00414084 5d POP EBP
CODE:00414085 c3 RET
CODE:00414086 90 ?? 90h
CODE:00414087 90 ?? 90h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00414088(void)
CODE:00414088 55 PUSH EBP
CODE:00414089 8bec MOV EBP,ESP
CODE:0041408b 5d POP EBP
CODE:0041408c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041408d(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 004323d4(c),0043f134(c),0044c85e(c)
CODE:0041408d 55 PUSH EBP
CODE:0041408e 8bec MOV EBP,ESP
CODE:00414090 53 PUSH EBX
CODE:00414091 56 PUSH ESI
CODE:00414092 8b7508 MOV ESI,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00414095 56 PUSH ESI
CODE:00414096 e8ebdfffff CALL FUN_00412086 ;undefined FUN_00412086(void)
CODE:0041409b 59 POP ECX
CODE:0041409c 56 PUSH ESI
CODE:0041409d e8bac80100 CALL Draw::DirtyRect ;void DirtyRect(Rect16 * rectOptional)
CODE:004140a2 59 POP ECX
CODE:004140a3 ff3520574600 PUSH dword ptr [DATA:Dlist_00465720] ;= ??
CODE:004140a9 e83a100200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:004140ae 59 POP ECX
CODE:004140af 8bd8 MOV EBX,EAX
CODE:004140b1 85db TEST EBX,EBX
CODE:004140b3 7424 JZ LAB_004140d9
LAB_004140b5: ;XREF[1]: 004140d7(j)
CODE:004140b5 8d430e LEA EAX,[EBX + 0xe]
CODE:004140b8 50 PUSH EAX
CODE:004140b9 56 PUSH ESI
CODE:004140ba e811e2ffff CALL Rect16::intersects ;short intersects(Rect16 * p, Rect16 ...
CODE:004140bf 83c408 ADD ESP,0x8
CODE:004140c2 6685c0 TEST AX,AX
CODE:004140c5 7405 JZ LAB_004140cc
CODE:004140c7 66834b0c40 OR word ptr [EBX + 0xc],0x40
LAB_004140cc: ;XREF[1]: 004140c5(j)
CODE:004140cc 53 PUSH EBX
CODE:004140cd e83b100200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:004140d2 59 POP ECX
CODE:004140d3 8bd8 MOV EBX,EAX
CODE:004140d5 85db TEST EBX,EBX
CODE:004140d7 75dc JNZ LAB_004140b5
LAB_004140d9: ;XREF[1]: 004140b3(j)
CODE:004140d9 5e POP ESI
CODE:004140da 5b POP EBX
CODE:004140db 5d POP EBP
CODE:004140dc c3 RET
CODE:004140dd 00 ?? 00h
CODE:004140de 00 ?? 00h
CODE:004140df 00 ?? 00h
CODE:004140e0 00 ?? 00h
CODE:004140e1 00 ?? 00h
CODE:004140e2 00 ?? 00h
CODE:004140e3 00 ?? 00h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_004140e4(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 00414d7a(c)
CODE:004140e4 55 PUSH EBP
CODE:004140e5 8bec MOV EBP,ESP
CODE:004140e7 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:004140ea 668b4002 MOV AX,word ptr [EAX + 0x2]
CODE:004140ee 6683f835 CMP AX,0x35
CODE:004140f2 7f04 JG LAB_004140f8
CODE:004140f4 33c0 XOR EAX,EAX
CODE:004140f6 5d POP EBP
CODE:004140f7 c3 RET
LAB_004140f8: ;XREF[1]: 004140f2(j)
CODE:004140f8 6683f867 CMP AX,0x67
CODE:004140fc 7f06 JG LAB_00414104
CODE:004140fe 66b80100 MOV AX,0x1
CODE:00414102 5d POP EBP
CODE:00414103 c3 RET
LAB_00414104: ;XREF[1]: 004140fc(j)
CODE:00414104 663d9900 CMP AX,0x99
CODE:00414108 7f06 JG LAB_00414110
CODE:0041410a 66b80200 MOV AX,0x2
CODE:0041410e 5d POP EBP
CODE:0041410f c3 RET
LAB_00414110: ;XREF[1]: 00414108(j)
CODE:00414110 663dcb00 CMP AX,0xcb
CODE:00414114 7f06 JG LAB_0041411c
CODE:00414116 66b80300 MOV AX,0x3
CODE:0041411a 5d POP EBP
CODE:0041411b c3 RET
LAB_0041411c: ;XREF[1]: 00414114(j)
CODE:0041411c 663dfd00 CMP AX,0xfd
CODE:00414120 7f06 JG LAB_00414128
CODE:00414122 66b80400 MOV AX,0x4
CODE:00414126 5d POP EBP
CODE:00414127 c3 RET
LAB_00414128: ;XREF[1]: 00414120(j)
CODE:00414128 66b80500 MOV AX,0x5
CODE:0041412c 5d POP EBP
CODE:0041412d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0041412e(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 00414d86(c)
CODE:0041412e 55 PUSH EBP
CODE:0041412f 8bec MOV EBP,ESP
CODE:00414131 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:00414134 668b4002 MOV AX,word ptr [EAX + 0x2]
CODE:00414138 6683f858 CMP AX,0x58
CODE:0041413c 7f04 JG LAB_00414142
CODE:0041413e 33c0 XOR EAX,EAX
CODE:00414140 5d POP EBP
CODE:00414141 c3 RET
LAB_00414142: ;XREF[1]: 0041413c(j)
CODE:00414142 663dbc00 CMP AX,0xbc
CODE:00414146 7f06 JG LAB_0041414e
CODE:00414148 66b80100 MOV AX,0x1
CODE:0041414c 5d POP EBP
CODE:0041414d c3 RET
LAB_0041414e: ;XREF[1]: 00414146(j)
CODE:0041414e 66b80200 MOV AX,0x2
CODE:00414152 5d POP EBP
CODE:00414153 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void InitEntities(void)
;i undefined2 AX ;XREF[1]: 00414156(W)
;XREF[2]: 004141eb(c),00414dcc(c)
CODE:00414154 33c0 XOR EAX,EAX
LAB_00414156: ;XREF[1]: 0041416b(j)
CODE:00414156 0fbfd0 MOVSX EDX,i
CODE:00414159 6bd20b IMUL EDX,EDX,0xb
; FWD[2]: 00465844(W),00465870(W)
CODE:0041415c 66c704954... MOV word ptr [EDX*0x...,0x1 ;= ??
CODE:00414166 40 INC i
CODE:00414167 6683f83c CMP i,0x3c
CODE:0041416b 7ce9 JL LAB_00414156
CODE:0041416d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined StartLevel(void)
;i undefined2 AX ;XREF[2]: 0041426d(W),0041433a(W)
;current void * ESI ;XREF[2]: 0041432c(W),00414386(W)
;list undefined4 EAX ;XREF[1]: 0041433a(W)
;room undefined4 ESI ;XREF[1]: 00414386(W)
;local_6 undefined2 -6 ;XREF[7]: 0041424f(W),0041425a(R),00414333(R),00414345(R),0041436a(R),
; 00414382(RW),00414386(R)
;building short HASH...
;count undefined2 HASH...
;partsCount undefined2 HASH...
;roomIndex undefined2 HASH...
;XREF[1]: 0042f57d(c)
CODE:0041416e 55 PUSH EBP
CODE:0041416f 8bec MOV EBP,ESP
CODE:00414171 51 PUSH ECX
CODE:00414172 53 PUSH EBX
CODE:00414173 56 PUSH ESI
CODE:00414174 a1b81a4600 MOV EAX,[DATA:$GameState] ;= 00000000
CODE:00414179 0fbf4030 MOVSX EAX,word ptr [EAX + 0x30]
CODE:0041417d 83e801 SUB EAX,0x1
CODE:00414180 7207 JC LAB_00414189
CODE:00414182 7410 JZ LAB_00414194
CODE:00414184 48 DEC EAX
CODE:00414185 7418 JZ LAB_0041419f
CODE:00414187 eb1f JMP LAB_004141a8
LAB_00414189: ;XREF[1]: 00414180(j)
CODE:00414189 66c7059a0... MOV word ptr [DATA:$...,0x177c ;= FFFFh
CODE:00414192 eb14 JMP LAB_004141a8
LAB_00414194: ;XREF[1]: 00414182(j)
CODE:00414194 66c7059a0... MOV word ptr [DATA:$...,0x1770 ;= FFFFh
CODE:0041419d eb09 JMP LAB_004141a8
LAB_0041419f: ;XREF[1]: 00414185(j)
CODE:0041419f 66c7059a0... MOV word ptr [DATA:$...,0x177a ;= FFFFh
LAB_004141a8: ;XREF[3]: 00414187(j),00414192(j),0041419d(j)
CODE:004141a8 66a19a034600 MOV AX,[DATA:$BuildingTextResourceId] ;= FFFFh
CODE:004141ae 50 PUSH EAX
CODE:004141af e8d21f0300 CALL FUN_00446186 ;void FUN_00446186(ushort param_1)
CODE:004141b4 59 POP ECX
CODE:004141b5 68ba034600 PUSH DATA:$AREA ;= 41h A
CODE:004141ba a1b81a4600 MOV EAX,[DATA:$GameState] ;= 00000000
CODE:004141bf 0fbf402e MOVSX EAX,word ptr [EAX + 0x2e]
CODE:004141c3 668b04459... MOV AX,word ptr [EAX*0x2 + DATA:$LevelAre...
CODE:004141cb 50 PUSH EAX
CODE:004141cc e82dc40200 CALL Resource::Load ;void * Load(ushort id, LPCSTR fourcc)
CODE:004141d1 83c408 ADD ESP,0x8
CODE:004141d4 a338584600 MOV [DATA:$Area],EAX ;= NaP
CODE:004141d9 8b3538584600 MOV ESI,dword ptr [DATA:$Area] ;= NaP
CODE:004141df 668b06 MOV AX,word ptr [ESI]
CODE:004141e2 66a378024600 MOV [DATA:$RoomCount],AX
CODE:004141e8 83c602 ADD ESI,0x2
CODE:004141eb e864ffffff CALL InitEntities ;void InitEntities(void)
; FWD[2]: 00462b28(R),00462c3f(*)
CODE:004141f0 ff35282b4600 PUSH dword ptr [->$INTS] ;= 00462c3f
;= 49h I
CODE:004141f6 a1b81a4600 MOV EAX,[DATA:$GameState] ;= 00000000
CODE:004141fb 668b402e MOV AX,word ptr [EAX + 0x2e]
CODE:004141ff 66058205 ADD AX,0x582
CODE:00414203 50 PUSH EAX
CODE:00414204 e8f5c30200 CALL Resource::Load ;void * Load(ushort id, LPCSTR fourcc)
CODE:00414209 83c408 ADD ESP,0x8
CODE:0041420c a334584600 MOV [DATA:$RoomInitialPartsCounts],EAX ;= NaP
CODE:00414211 a134584600 MOV EAX,[DATA:$RoomInitialPartsCounts] ;= NaP
CODE:00414216 668b00 MOV AX,word ptr [EAX]
CODE:00414219 50 PUSH EAX
CODE:0041421a e886960200 CALL GenInitialPartIds ;void GenInitialPartIds(ushort count)
CODE:0041421f 59 POP ECX
CODE:00414220 a134584600 MOV EAX,[DATA:$RoomInitialPartsCounts] ;= NaP
CODE:00414225 668b00 MOV AX,word ptr [EAX]
CODE:00414228 8b1540954600 MOV EDX,dword ptr [DATA:$Level.partResource];= NaP
CODE:0041422e 662b4202 SUB AX,word ptr [EDX + 0x2]
CODE:00414232 66a332584600 MOV [DATA:$ActualBananaPartsCount],AX ;= ??
CODE:00414238 66a330584600 MOV [DATA:$InitialBananaPartsCount],AX ;= ??
CODE:0041423e 6a40 PUSH 0x40
CODE:00414240 6a00 PUSH 0x0
CODE:00414242 68f0574600 PUSH DATA:$Rooms ;= ??
CODE:00414247 e870bc0300 CALL Memset ;void * Memset(void * result, byte va...
CODE:0041424c 83c40c ADD ESP,0xc
CODE:0041424f 66c745fe0000 MOV word ptr [EBP + local_6+0x4],0x0
CODE:00414255 e92c010000 JMP LAB_00414386
LAB_0041425a: ;XREF[1]: 00414391(j)
CODE:0041425a 0fbf45fe MOVSX EAX,word ptr [EBP + local_6+0x4]
CODE:0041425e 893485f05... MOV dword ptr [EAX*0x4 + DATA:$Rooms],ESI ;= ??
CODE:00414265 8bde MOV EBX,ESI
CODE:00414267 81c620010000 ADD ESI,0x120
CODE:0041426d 66b80300 MOV i,0x3
LAB_00414271: ;XREF[1]: 00414291(j)
CODE:00414271 0fbfd0 MOVSX EDX,i
CODE:00414274 668b545302 MOV DX,word ptr [EBX + EDX*0x2 + 0x2]
CODE:00414279 6685d2 TEST DX,DX
CODE:0041427c 740f JZ LAB_0041428d
CODE:0041427e 0fbfc8 MOVSX ECX,i
CODE:00414281 89748b7e MOV dword ptr [EBX + ECX*0x4 + 0x7e],ESI
CODE:00414285 0fbfd2 MOVSX EDX,DX
CODE:00414288 c1e205 SHL EDX,0x5
CODE:0041428b 03f2 ADD ESI,EDX
LAB_0041428d: ;XREF[1]: 0041427c(j)
CODE:0041428d 48 DEC i
CODE:0041428e 6685c0 TEST i,i
CODE:00414291 7dde JGE LAB_00414271
CODE:00414293 33c0 XOR i,i
LAB_00414295: ;XREF[1]: 004142bc(j)
CODE:00414295 0fbfd0 MOVSX EDX,i
CODE:00414298 668b54530a MOV DX,word ptr [EBX + EDX*0x2 + 0xa]
CODE:0041429d 6685d2 TEST DX,DX
CODE:004142a0 7415 JZ LAB_004142b7
CODE:004142a2 0fbfc8 MOVSX ECX,i
CODE:004142a5 89b48b8e0... MOV dword ptr [EBX + ECX*0x4 + 0x8e],ESI
CODE:004142ac 0fbfd2 MOVSX EDX,DX
CODE:004142af c1e203 SHL EDX,0x3
CODE:004142b2 8d1492 LEA EDX,[EDX + EDX*0x4]
CODE:004142b5 03f2 ADD ESI,EDX
LAB_004142b7: ;XREF[1]: 004142a0(j)
CODE:004142b7 40 INC i
CODE:004142b8 6683f803 CMP i,0x3
CODE:004142bc 7ed7 JLE LAB_00414295
CODE:004142be 33c0 XOR i,i
LAB_004142c0: ;XREF[1]: 004142e3(j)
CODE:004142c0 0fbfd0 MOVSX EDX,i
CODE:004142c3 668b545312 MOV DX,word ptr [EBX + EDX*0x2 + 0x12]
CODE:004142c8 6685d2 TEST DX,DX
CODE:004142cb 7411 JZ LAB_004142de
CODE:004142cd 0fbfc8 MOVSX ECX,i
CODE:004142d0 89748b1e MOV dword ptr [EBX + ECX*0x4 + 0x1e],ESI
CODE:004142d4 0fbfd2 MOVSX EDX,DX
CODE:004142d7 03d2 ADD EDX,EDX
CODE:004142d9 8d1492 LEA EDX,[EDX + EDX*0x4]
CODE:004142dc 03f2 ADD ESI,EDX
LAB_004142de: ;XREF[1]: 004142cb(j)
CODE:004142de 40 INC i
CODE:004142df 6683f806 CMP i,0x6
CODE:004142e3 7cdb JL LAB_004142c0
CODE:004142e5 33c0 XOR i,i
LAB_004142e7: ;XREF[1]: 0041430a(j)
CODE:004142e7 0fbfd0 MOVSX EDX,i
CODE:004142ea 668b545336 MOV DX,word ptr [EBX + EDX*0x2 + 0x36]
CODE:004142ef 6685d2 TEST DX,DX
CODE:004142f2 7411 JZ LAB_00414305
CODE:004142f4 0fbfc8 MOVSX ECX,i
CODE:004142f7 89748b42 MOV dword ptr [EBX + ECX*0x4 + 0x42],ESI
CODE:004142fb 0fbfd2 MOVSX EDX,DX
CODE:004142fe 03d2 ADD EDX,EDX
CODE:00414300 8d1492 LEA EDX,[EDX + EDX*0x4]
CODE:00414303 03f2 ADD ESI,EDX
LAB_00414305: ;XREF[1]: 004142f2(j)
CODE:00414305 40 INC i
CODE:00414306 6683f806 CMP i,0x6
CODE:0041430a 7cdb JL LAB_004142e7
CODE:0041430c 33c0 XOR i,i
LAB_0041430e: ;XREF[1]: 00414331(j)
CODE:0041430e 0fbfd0 MOVSX EDX,i
CODE:00414311 668b54535a MOV DX,word ptr [EBX + EDX*0x2 + 0x5a]
CODE:00414316 6685d2 TEST DX,DX
CODE:00414319 7411 JZ LAB_0041432c
CODE:0041431b 0fbfc8 MOVSX ECX,i
CODE:0041431e 89748b66 MOV dword ptr [EBX + ECX*0x4 + 0x66],ESI
CODE:00414322 0fbfd2 MOVSX EDX,DX
CODE:00414325 03d2 ADD EDX,EDX
CODE:00414327 8d1492 LEA EDX,[EDX + EDX*0x4]
CODE:0041432a 03f2 ADD ESI,EDX
LAB_0041432c: ;XREF[1]: 00414319(j)
CODE:0041432c 40 INC i
CODE:0041432d 6683f806 CMP i,0x6
CODE:00414331 7cdb JL LAB_0041430e
CODE:00414333 66837dfe00 CMP word ptr [EBP + local_6+0x4],0x0
CODE:00414338 7448 JZ LAB_00414382
CODE:0041433a e8b30f0200 CALL DlistNew ;Dlist * DlistNew(void)
CODE:0041433f 8983a0000000 MOV dword ptr [EBX + 0xa0],list
CODE:00414345 0fbf45fe MOVSX list,word ptr [EBP + local_6+0x4]
CODE:00414349 8b1534584600 MOV EDX,dword ptr [DATA:$RoomInitialParts...;= NaP
CODE:0041434f 668b0442 MOV list,word ptr [EDX + list*0x2]
CODE:00414353 6689839e0... MOV word ptr [EBX + 0x9e],list
CODE:0041435a 6685c0 TEST list,list
CODE:0041435d 7423 JZ LAB_00414382
CODE:0041435f 66c7839e0... MOV word ptr [EBX + 0x9e],0x0
CODE:00414368 6aff PUSH -0x1
CODE:0041436a 0fbf45fe MOVSX list,word ptr [EBP + local_6+0x4]
CODE:0041436e 8b1534584600 MOV EDX,dword ptr [DATA:$RoomInitialParts...;= NaP
CODE:00414374 668b0442 MOV list,word ptr [EDX + list*0x2]
CODE:00414378 50 PUSH list
CODE:00414379 53 PUSH EBX
CODE:0041437a e8d1030000 CALL PlacePartEntity ;ushort PlacePartEntity(Room * room, ...
CODE:0041437f 83c40c ADD ESP,0xc
LAB_00414382: ;XREF[2]: 00414338(j),0041435d(j)
CODE:00414382 66ff45fe INC word ptr [EBP + local_6+0x4]
LAB_00414386: ;XREF[1]: 00414255(j)
CODE:00414386 668b45fe MOV list,word ptr [EBP + local_6+0x4]
CODE:0041438a 663b05780... CMP list,word ptr [DATA:$RoomCount]
CODE:00414391 0f8cc3feffff JL LAB_0041425a
CODE:00414397 66c705760... MOV word ptr [DATA:$RoomIndex],0x0
CODE:004143a0 5e POP room
CODE:004143a1 5b POP EBX
CODE:004143a2 59 POP ECX
CODE:004143a3 5d POP EBP
CODE:004143a4 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004143a5(void)
;XREF[1]: 0042fe6d(c)
CODE:004143a5 53 PUSH EBX
CODE:004143a6 66bb0100 MOV BX,0x1
CODE:004143aa eb17 JMP LAB_004143c3
LAB_004143ac: ;XREF[1]: 004143ca(j)
CODE:004143ac 0fbfc3 MOVSX EAX,BX
CODE:004143af 8b0485f05... MOV EAX,dword ptr [EAX*0x4 + 0x4657f0]=>D...
CODE:004143b6 ffb0a0000000 PUSH dword ptr [EAX + 0xa0]
CODE:004143bc e8410f0200 CALL PoolFreeIfNotNull ;undefined PoolFreeIfNotNull(undefine...
CODE:004143c1 59 POP ECX
CODE:004143c2 43 INC EBX
LAB_004143c3: ;XREF[1]: 004143aa(j)
CODE:004143c3 663b1d780... CMP BX,word ptr [DATA:$RoomCount]
CODE:004143ca 7ce0 JL LAB_004143ac
CODE:004143cc ff3534584600 PUSH dword ptr [DATA:$RoomInitialPartsCounts];= NaP
CODE:004143d2 e865c30200 CALL FUN_0044073c ;undefined FUN_0044073c(undefined par...
CODE:004143d7 59 POP ECX
CODE:004143d8 ff3538584600 PUSH dword ptr [DATA:$Area] ;= NaP
CODE:004143de e859c30200 CALL FUN_0044073c ;undefined FUN_0044073c(undefined par...
CODE:004143e3 59 POP ECX
CODE:004143e4 66833d9a0... CMP word ptr [DATA:$...,-0x1 ;= FFFFh
CODE:004143ec 7416 JZ LAB_00414404
CODE:004143ee 66a19a034600 MOV AX,[DATA:$BuildingTextResourceId] ;= FFFFh
CODE:004143f4 50 PUSH EAX
CODE:004143f5 e8ee1e0300 CALL FUN_004462e8 ;void FUN_004462e8(undefined4 param_1)
CODE:004143fa 59 POP ECX
CODE:004143fb 66c7059a0... MOV word ptr [DATA:$...,0xffff ;= FFFFh
LAB_00414404: ;XREF[1]: 004143ec(j)
CODE:00414404 5b POP EBX
CODE:00414405 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00414406(undefined param_1, undefined param_2, undefined param_3, undefined2 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined2 ;local_6 undefined2 -6 ;XREF[1]: 00414453(W)
;XREF[1]: 0042f779(c)
CODE:00414406 55 PUSH EBP
CODE:00414407 8bec MOV EBP,ESP
CODE:00414409 51 PUSH ECX
CODE:0041440a 53 PUSH EBX
CODE:0041440b 56 PUSH ESI
CODE:0041440c 57 PUSH EDI
CODE:0041440d 6820010000 PUSH 0x120
CODE:00414412 0fbf4508 MOVSX EAX,word ptr [EBP + Stack[0x4]+0x4]
CODE:00414416 ff3485f05... PUSH dword ptr [EAX*0x4 + DATA:$Rooms] ;= ??
CODE:0041441d 687a024600 PUSH DATA:DAT_0046027a
CODE:00414422 e825ba0300 CALL Memcpy ;void * Memcpy(void * dest, void * sr...
CODE:00414427 83c40c ADD ESP,0xc
CODE:0041442a 668b4508 MOV AX,word ptr [EBP + Stack[0x4]+0x4]
CODE:0041442e 66a376024600 MOV [DATA:$RoomIndex],AX
CODE:00414434 66c705740... MOV word ptr [DATA:DAT_00460274],0x1
CODE:0041443d 66be0300 MOV SI,0x3
LAB_00414441: ;XREF[1]: 0041453c(j)
CODE:00414441 0fbfc6 MOVSX EAX,SI
; FWD[2]: 004602f8(R),00460304(R)
CODE:00414444 8b1c85f80... MOV EBX,dword ptr [EAX*0x4 + 0x4602f8]=>D...
CODE:0041444b 33ff XOR EDI,EDI
CODE:0041444d eb53 JMP LAB_004144a2
LAB_0041444f: ;XREF[1]: 004144ad(j)
CODE:0041444f 668b430e MOV AX,word ptr [EBX + 0xe]
CODE:00414453 668945fe MOV word ptr [EBP + local_6+0x4],AX
CODE:00414457 50 PUSH EAX
CODE:00414458 e867e6ffff CALL FUN_00412ac4 ;undefined4 FUN_00412ac4(ushort param_1)
CODE:0041445d 59 POP ECX
CODE:0041445e 89430a MOV dword ptr [EBX + 0xa],EAX
CODE:00414461 56 PUSH ESI
CODE:00414462 668b4302 MOV AX,word ptr [EBX + 0x2]
CODE:00414466 50 PUSH EAX
CODE:00414467 668b03 MOV AX,word ptr [EBX]
CODE:0041446a 50 PUSH EAX
CODE:0041446b ff730a PUSH dword ptr [EBX + 0xa]
CODE:0041446e e8e9f4ffff CALL FUN_0041395c ;undefined FUN_0041395c(undefined4 pa...
CODE:00414473 83c410 ADD ESP,0x10
CODE:00414476 33c0 XOR EAX,EAX
CODE:00414478 f6430802 TEST byte ptr [EBX + 0x8],0x2
CODE:0041447c 7404 JZ LAB_00414482
CODE:0041447e 66b80100 MOV AX,0x1
LAB_00414482: ;XREF[1]: 0041447c(j)
CODE:00414482 6683c806 OR AX,0x6
CODE:00414486 50 PUSH EAX
CODE:00414487 6a00 PUSH 0x0
CODE:00414489 680080ffff PUSH 0xffff8000
CODE:0041448e 680080ffff PUSH 0xffff8000
CODE:00414493 ff730a PUSH dword ptr [EBX + 0xa]
CODE:00414496 e8edf6ffff CALL FUN_00413b88 ;uint FUN_00413b88(undefined param_1,...
CODE:0041449b 83c414 ADD ESP,0x14
CODE:0041449e 83c320 ADD EBX,0x20
CODE:004144a1 47 INC EDI
LAB_004144a2: ;XREF[1]: 0041444d(j)
CODE:004144a2 0fbfc6 MOVSX EAX,SI
CODE:004144a5 663b3c457... CMP DI,word ptr [EAX*0x2 + 0x46027c]=>DAT...
CODE:004144ad 7ca0 JL LAB_0041444f
CODE:004144af 0fbfc6 MOVSX EAX,SI
CODE:004144b2 8b1c85f80... MOV EBX,dword ptr [EAX*0x4 + 0x4602f8]=>D...
CODE:004144b9 33ff XOR EDI,EDI
CODE:004144bb eb10 JMP LAB_004144cd
LAB_004144bd: ;XREF[1]: 004144d8(j)
CODE:004144bd ff730a PUSH dword ptr [EBX + 0xa]
CODE:004144c0 e847e8ffff CALL FUN_00412d0c ;undefined4 FUN_00412d0c(uint param_1...
CODE:004144c5 59 POP ECX
CODE:004144c6 89430a MOV dword ptr [EBX + 0xa],EAX
CODE:004144c9 83c320 ADD EBX,0x20
CODE:004144cc 47 INC EDI
LAB_004144cd: ;XREF[1]: 004144bb(j)
CODE:004144cd 0fbfc6 MOVSX EAX,SI
CODE:004144d0 663b3c457... CMP DI,word ptr [EAX*0x2 + 0x46027c]=>DAT...
CODE:004144d8 7ce3 JL LAB_004144bd
CODE:004144da 0fbfc6 MOVSX EAX,SI
CODE:004144dd 8b1c85080... MOV EBX,dword ptr [EAX*0x4 + 0x460308]=>D...
CODE:004144e4 33ff XOR EDI,EDI
CODE:004144e6 eb43 JMP LAB_0041452b
LAB_004144e8: ;XREF[1]: 00414536(j)
CODE:004144e8 668b430e MOV AX,word ptr [EBX + 0xe]
CODE:004144ec 50 PUSH EAX
CODE:004144ed e8d2e5ffff CALL FUN_00412ac4 ;undefined4 FUN_00412ac4(ushort param_1)
CODE:004144f2 59 POP ECX
CODE:004144f3 89430a MOV dword ptr [EBX + 0xa],EAX
CODE:004144f6 56 PUSH ESI
CODE:004144f7 668b4302 MOV AX,word ptr [EBX + 0x2]
CODE:004144fb 50 PUSH EAX
CODE:004144fc 668b03 MOV AX,word ptr [EBX]
CODE:004144ff 50 PUSH EAX
CODE:00414500 ff730a PUSH dword ptr [EBX + 0xa]
CODE:00414503 e854f4ffff CALL FUN_0041395c ;undefined FUN_0041395c(undefined4 pa...
CODE:00414508 83c410 ADD ESP,0x10
CODE:0041450b ff730a PUSH dword ptr [EBX + 0xa]
CODE:0041450e e8b5e8ffff CALL FUN_00412dc8 ;undefined FUN_00412dc8(undefined4 pa...
CODE:00414513 59 POP ECX
CODE:00414514 f6430802 TEST byte ptr [EBX + 0x8],0x2
CODE:00414518 740d JZ LAB_00414527
CODE:0041451a 6a01 PUSH 0x1
CODE:0041451c ff730a PUSH dword ptr [EBX + 0xa]
CODE:0041451f e8b0e4ffff CALL FUN_004129d4 ;undefined FUN_004129d4(undefined4 pa...
CODE:00414524 83c408 ADD ESP,0x8
LAB_00414527: ;XREF[1]: 00414518(j)
CODE:00414527 83c328 ADD EBX,0x28
CODE:0041452a 47 INC EDI
LAB_0041452b: ;XREF[1]: 004144e6(j)
CODE:0041452b 0fbfc6 MOVSX EAX,SI
CODE:0041452e 663b3c458... CMP DI,word ptr [EAX*0x2 + 0x460284]=>DAT...
CODE:00414536 7cb0 JL LAB_004144e8
CODE:00414538 4e DEC ESI
CODE:00414539 6685f6 TEST SI,SI
CODE:0041453c 0f8dfffeffff JGE LAB_00414441
CODE:00414542 0fbf05760... MOVSX EAX,word ptr [DATA:$RoomIndex]
CODE:00414549 8b0485f05... MOV EAX,dword ptr [EAX*0x4 + DATA:$Rooms] ;= ??
CODE:00414550 ffb0a0000000 PUSH dword ptr [EAX + 0xa0]
CODE:00414556 e88d0b0200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:0041455b 59 POP ECX
CODE:0041455c 8bd8 MOV EBX,EAX
CODE:0041455e 33f6 XOR ESI,ESI
CODE:00414560 eb38 JMP LAB_0041459a
LAB_00414562: ;XREF[1]: 004145a1(j)
CODE:00414562 668b431a MOV AX,word ptr [EBX + 0x1a]
CODE:00414566 50 PUSH EAX
CODE:00414567 e858e5ffff CALL FUN_00412ac4 ;undefined4 FUN_00412ac4(ushort param_1)
CODE:0041456c 59 POP ECX
CODE:0041456d 894316 MOV dword ptr [EBX + 0x16],EAX
CODE:00414570 6a32 PUSH 0x32
CODE:00414572 668b430e MOV AX,word ptr [EBX + 0xe]
CODE:00414576 50 PUSH EAX
CODE:00414577 668b430c MOV AX,word ptr [EBX + 0xc]
CODE:0041457b 50 PUSH EAX
CODE:0041457c ff7316 PUSH dword ptr [EBX + 0x16]
CODE:0041457f e8d8f3ffff CALL FUN_0041395c ;undefined FUN_0041395c(undefined4 pa...
CODE:00414584 83c410 ADD ESP,0x10
CODE:00414587 ff7316 PUSH dword ptr [EBX + 0x16]
CODE:0041458a e839e8ffff CALL FUN_00412dc8 ;undefined FUN_00412dc8(undefined4 pa...
CODE:0041458f 59 POP ECX
CODE:00414590 46 INC ESI
CODE:00414591 53 PUSH EBX
CODE:00414592 e8760b0200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00414597 59 POP ECX
CODE:00414598 8bd8 MOV EBX,EAX
LAB_0041459a: ;XREF[1]: 00414560(j)
CODE:0041459a 663b35180... CMP SI,word ptr [DATA:DAT_00460318]
CODE:004145a1 7cbf JL LAB_00414562
CODE:004145a3 66837d0800 CMP word ptr [EBP + Stack[0x4]+0x4],0x0
CODE:004145a8 750f JNZ LAB_004145b9
CODE:004145aa 66a19a034600 MOV AX,[DATA:$BuildingTextResourceId] ;= FFFFh
CODE:004145b0 50 PUSH EAX
CODE:004145b1 e896250300 CALL FUN_00446b4c ;undefined FUN_00446b4c(undefined2 pa...
CODE:004145b6 59 POP ECX
CODE:004145b7 eb23 JMP LAB_004145dc
LAB_004145b9: ;XREF[1]: 004145a8(j)
CODE:004145b9 66a19a034600 MOV AX,[DATA:$BuildingTextResourceId] ;= FFFFh
CODE:004145bf 50 PUSH EAX
CODE:004145c0 e85a2a0300 CALL FUN_0044701f ;undefined4 FUN_0044701f(undefined pa...
CODE:004145c5 59 POP ECX
CODE:004145c6 6685c0 TEST AX,AX
CODE:004145c9 7511 JNZ LAB_004145dc
CODE:004145cb 6a01 PUSH 0x1
CODE:004145cd 66a19a034600 MOV AX,[DATA:$BuildingTextResourceId] ;= FFFFh
CODE:004145d3 50 PUSH EAX
CODE:004145d4 e820210300 CALL FUN_004466f9 ;undefined FUN_004466f9(undefined par...
CODE:004145d9 83c408 ADD ESP,0x8
LAB_004145dc: ;XREF[2]: 004145b7(j),004145c9(j)
CODE:004145dc 5f POP EDI
CODE:004145dd 5e POP ESI
CODE:004145de 5b POP EBX
CODE:004145df 59 POP ECX
CODE:004145e0 5d POP EBP
CODE:004145e1 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004145e2(undefined4 param_1, undefined4 param_2, uint param_3)
;param_1 undefined4 EAX
;param_2 undefined4 EDX
;param_3 uint ECX
;XREF[2]: 0042f7ac(c),0042fe68(c)
CODE:004145e2 53 PUSH EBX
CODE:004145e3 56 PUSH ESI
CODE:004145e4 57 PUSH EDI
CODE:004145e5 66833d740... CMP word ptr [DATA:DAT_00460274],0x0
CODE:004145ed 0f84a7000000 JZ LAB_0041469a
CODE:004145f3 33f6 XOR ESI,ESI
LAB_004145f5: ;XREF[1]: 00414650(j)
CODE:004145f5 0fbfc6 MOVSX param_1,SI
; FWD[2]: 00460308(R),0046030c(R)
CODE:004145f8 8b3c85080... MOV EDI,dword ptr [param_1*0x4 + DATA:DAT...
CODE:004145ff 33db XOR EBX,EBX
CODE:00414601 eb10 JMP LAB_00414613
LAB_00414603: ;XREF[1]: 0041461e(j)
CODE:00414603 ff770a PUSH dword ptr [EDI + 0xa]
CODE:00414606 e801e7ffff CALL FUN_00412d0c ;undefined4 FUN_00412d0c(uint param_1...
CODE:0041460b 59 POP param_3
CODE:0041460c 89470a MOV dword ptr [EDI + 0xa],param_1
CODE:0041460f 83c728 ADD EDI,0x28
CODE:00414612 43 INC EBX
LAB_00414613: ;XREF[1]: 00414601(j)
CODE:00414613 0fbfc6 MOVSX param_1,SI
CODE:00414616 663b1c458... CMP BX,word ptr [param_1*0x2 + DATA:DAT_0...
CODE:0041461e 7ce3 JL LAB_00414603
CODE:00414620 0fbfc6 MOVSX param_1,SI
CODE:00414623 8b3c85f80... MOV EDI,dword ptr [param_1*0x4 + DATA:DAT...
CODE:0041462a 33db XOR EBX,EBX
CODE:0041462c eb10 JMP LAB_0041463e
LAB_0041462e: ;XREF[1]: 00414649(j)
CODE:0041462e ff770a PUSH dword ptr [EDI + 0xa]
CODE:00414631 e8d6e6ffff CALL FUN_00412d0c ;undefined4 FUN_00412d0c(uint param_1...
CODE:00414636 59 POP param_3
CODE:00414637 89470a MOV dword ptr [EDI + 0xa],param_1
CODE:0041463a 83c720 ADD EDI,0x20
CODE:0041463d 43 INC EBX
LAB_0041463e: ;XREF[1]: 0041462c(j)
CODE:0041463e 0fbfc6 MOVSX param_1,SI
CODE:00414641 663b1c457... CMP BX,word ptr [param_1*0x2 + DATA:DAT_0...
CODE:00414649 7ce3 JL LAB_0041462e
CODE:0041464b 46 INC ESI
CODE:0041464c 6683fe04 CMP SI,0x4
CODE:00414650 7ca3 JL LAB_004145f5
CODE:00414652 0fbf05760... MOVSX param_1,word ptr [DATA:$RoomIndex]
CODE:00414659 8b0485f05... MOV param_1,dword ptr [param_1*0x4 + DATA...;= ??
CODE:00414660 ffb0a0000000 PUSH dword ptr [param_1 + 0xa0]
CODE:00414666 e87d0a0200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:0041466b 59 POP param_3
CODE:0041466c 8bd8 MOV EBX,param_1
CODE:0041466e 33f6 XOR ESI,ESI
CODE:00414670 eb16 JMP LAB_00414688
LAB_00414672: ;XREF[1]: 0041468f(j)
CODE:00414672 ff7316 PUSH dword ptr [EBX + 0x16]
CODE:00414675 e892e6ffff CALL FUN_00412d0c ;undefined4 FUN_00412d0c(uint param_1...
CODE:0041467a 59 POP param_3
CODE:0041467b 894316 MOV dword ptr [EBX + 0x16],param_1
CODE:0041467e 46 INC ESI
CODE:0041467f 53 PUSH EBX
CODE:00414680 e8880a0200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:00414685 59 POP param_3
CODE:00414686 8bd8 MOV EBX,param_1
LAB_00414688: ;XREF[1]: 00414670(j)
CODE:00414688 663b35180... CMP SI,word ptr [DATA:DAT_00460318]
CODE:0041468f 7ce1 JL LAB_00414672
CODE:00414691 66c705740... MOV word ptr [DATA:DAT_00460274],0x0
LAB_0041469a: ;XREF[1]: 004145ed(j)
CODE:0041469a 5f POP EDI
CODE:0041469b 5e POP ESI
CODE:0041469c 5b POP EBX
CODE:0041469d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041469e(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4, undefined4 param_5)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4 ;param_5 undefined4 00417857(c),0041a6c8(c),0044d8f4(c)
CODE:0041469e 55 PUSH EBP
CODE:0041469f 8bec MOV EBP,ESP
CODE:004146a1 53 PUSH EBX
CODE:004146a2 56 PUSH ESI
CODE:004146a3 57 PUSH EDI
CODE:004146a4 8b750c MOV ESI,dword ptr [EBP + Stack[0x8]+0x4]
CODE:004146a7 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
CODE:004146aa 6685c0 TEST AX,AX
CODE:004146ad 7c0c JL LAB_004146bb
CODE:004146af 0fbfc0 MOVSX EAX,AX
CODE:004146b2 8b1485f05... MOV EDX,dword ptr [EAX*0x4 + DATA:$Rooms] ;= ??
CODE:004146b9 eb05 JMP LAB_004146c0
LAB_004146bb: ;XREF[1]: 004146ad(j)
CODE:004146bb ba7a024600 MOV EDX,DATA:DAT_0046027a
LAB_004146c0: ;XREF[1]: 004146b9(j)
CODE:004146c0 8b427e MOV EAX,dword ptr [EDX + 0x7e]=>DATA:DAT_...
CODE:004146c3 0fbfce MOVSX ECX,SI
CODE:004146c6 c1f906 SAR ECX,0x6
CODE:004146c9 8bf1 MOV ESI,ECX
CODE:004146cb 668b4a02 MOV CX,word ptr [EDX + 0x2]=>DATA:DAT_004...
CODE:004146cf 33d2 XOR EDX,EDX
CODE:004146d1 663bca CMP CX,DX
CODE:004146d4 7e25 JLE LAB_004146fb
LAB_004146d6: ;XREF[1]: 004146f9(j)
CODE:004146d6 6683781007 CMP word ptr [EAX + 0x10],0x7
CODE:004146db 7c15 JL LAB_004146f2
CODE:004146dd 668378100b CMP word ptr [EAX + 0x10],0xb
CODE:004146e2 7f0e JG LAB_004146f2
CODE:004146e4 0fb75812 MOVZX EBX,word ptr [EAX + 0x12]
CODE:004146e8 c1fb06 SAR EBX,0x6
CODE:004146eb 0fbffe MOVSX EDI,SI
CODE:004146ee 3bdf CMP EBX,EDI
CODE:004146f0 7409 JZ LAB_004146fb
LAB_004146f2: ;XREF[2]: 004146db(j),004146e2(j)
CODE:004146f2 83c020 ADD EAX,0x20
CODE:004146f5 42 INC EDX
CODE:004146f6 663bca CMP CX,DX
CODE:004146f9 7fdb JG LAB_004146d6
LAB_004146fb: ;XREF[2]: 004146d4(j),004146f0(j)
CODE:004146fb 5f POP EDI
CODE:004146fc 5e POP ESI
CODE:004146fd 5b POP EBX
CODE:004146fe 5d POP EBP
CODE:004146ff c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00414700(undefined param_1, undefined param_2, undefined param_3, undefined2 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined2 00417d1f(c),0042fa93(c)
CODE:00414700 55 PUSH EBP
CODE:00414701 8bec MOV EBP,ESP
CODE:00414703 0fbf4508 MOVSX EAX,word ptr [EBP + Stack[0x4]+0x4]
CODE:00414707 8b0485f05... MOV EAX,dword ptr [EAX*0x4 + DATA:$Rooms] ;= ??
CODE:0041470e 668b00 MOV AX,word ptr [EAX]
CODE:00414711 5d POP EBP
CODE:00414712 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ushort RoomIsObverse(short roomIndex)
;roomIndex short 4 ;XREF[1]: 00414716(R)
;XREF[12]: 004177d0(c),00417d2e(c),0041a643(c),0041a938(c),
; 0041ab67(c),0042f933(c),0042fa64(c),0043438d(c),
; 00434bf6(c),00435083(c),0044d8b7(c),0044d903(c)
CODE:00414713 55 PUSH EBP
CODE:00414714 8bec MOV EBP,ESP
CODE:00414716 0fbf4508 MOVSX EAX,word ptr [EBP + roomIndex+0x4]
CODE:0041471a 8b0485f05... MOV EAX,dword ptr [EAX*0x4 + DATA:$Rooms] ;= ??
CODE:00414721 668b00 MOV AX,word ptr [EAX]
CODE:00414724 6683e001 AND AX,0x1
CODE:00414728 5d POP EBP
CODE:00414729 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041472a(void)
;XREF[1]: 00434610(c)
CODE:0041472a 55 PUSH EBP
CODE:0041472b 8bec MOV EBP,ESP
CODE:0041472d 5d POP EBP
CODE:0041472e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041472f(void)
;XREF[1]: 004345d8(c)
CODE:0041472f 55 PUSH EBP
CODE:00414730 8bec MOV EBP,ESP
CODE:00414732 5d POP EBP
CODE:00414733 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00414734(void)
;XREF[1]: 004345ca(c)
CODE:00414734 55 PUSH EBP
CODE:00414735 8bec MOV EBP,ESP
CODE:00414737 5d POP EBP
CODE:00414738 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00414739(void)
;XREF[1]: 00434602(c)
CODE:00414739 55 PUSH EBP
CODE:0041473a 8bec MOV EBP,ESP
CODE:0041473c 5d POP EBP
CODE:0041473d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;EntityNode * NextAvailableEntityNode(void)
;node undefined4 EAX ;XREF[1]: 0041473e(W)
;XREF[2]: 0041480f(c),00414b0c(c)
CODE:0041473e b83c584600 MOV node,DATA:$Entities ;= ??
CODE:00414743 eb03 JMP LAB_00414748
LAB_00414745: ;XREF[1]: 0041474d(j)
CODE:00414745 83c02c ADD node,0x2c
LAB_00414748: ;XREF[1]: 00414743(j)
; FWD[2]: 00465844(R),00465870(R)
CODE:00414748 6683780801 CMP word ptr [node +...,0x1 ;= ??
CODE:0041474d 75f6 JNZ LAB_00414745
CODE:0041474f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ushort PlacePartEntity(Room * room, short count, PartId partId)
;room Room * 4 ;XREF[9]: 00414768(R),004148ad(R),004148b7(R),00414900(R),00414909(R),
; 00414945(R),0041494c(R),00414a5e(R),00414a79(R)
;count short 8 ;XREF[2]: 00414805(R),00414a92(R)
;partId PartId c ;XREF[4]: 004149e6(R),004149ee(R),00414a06(R),00414a0e(R)
;rows short AX ;XREF[4]: 00414770(W),004148db(W),0041499d(W),004149f5(W)
;collision undefined4 EAX ;XREF[3]: 004148db(W),0041499d(W),004149f5(W)
;j undefined2 BX ;XREF[1]: 00414958(W)
;wtf undefined4 EAX ;XREF[2]: 0041499d(W),004149f5(W)
;id undefined2 AX ;XREF[1]: 004149f5(W)
;locationIndex undefined2 -6 ;XREF[5]: 0041475c(W),00414833(R),00414859(R),00414880(RW),00414884(R)
;locationCount short -8 ;XREF[3]: 004147e3(W),004147ee(R),00414888(R)
;i undefined2 -a ;XREF[4]: 004147fb(W),00414801(R),00414a8a(RW),00414a8e(R)
;firstPartX undefined2 -c ;XREF[3]: 00414774(W),004147aa(W),00414875(R)
;columns undefined2 -e ;XREF[5]: 0041477a(W),004147b0(W),004147dd(R),0041483f(R),00414865(R)
;firstPartY undefined2 -10 ;XREF[3]: 00414780(W),004147b6(W),0041484e(R)
;rowHeight undefined2 -12 ;XREF[3]: 00414786(W),004147bc(W),00414848(R)
;baseSpriteId undefined2 -14 ;XREF[3]: 0041478c(W),004147c2(W),004149de(R)
;partWidth? undefined2 -16 ;XREF[3]: 00414792(W),004147c8(W),004149ab(R)
;columnWidth undefined2 -18 ;XREF[5]: 00414798(W),004147ce(W),0041486e(R),00414895(R),00414999(R)
;partHeight undefined2 -1a ;XREF[3]: 0041479e(W),004147d4(W),004148a0(R)
;done undefined2 -1c ;XREF[3]: 00414817(W),00414988(W),0041498e(R)
;entityNode EntityNode * -20 ;XREF[4]: 00414814(W),004149be(R),00414a68(R),00414a76(R)
;partNode EntityNode * -24 ;XREF[4]: 004148c6(W),004148cd(R),004148e9(R),004148f2(W)
;ladder LadderEntity * -28 ;XREF[3]: 00414955(W),0041495c(R),00414974(RW)
;result undefined2 -2a ;XREF[2]: 00414762(W),00414a9c(R)
;entity OtherEntity * -30 ;XREF[14]: 00414906(W),00414914(R),0041491e(R),00414936(RW),004149c4(W),
; 004149d0(R),004149db(R),004149fa(R),00414a03(R),00414a22(R),
; 00414a2b(R),00414a34(R),00414a46(R),00414a55(R)
;locations undefined1[... -e4 ;XREF[1]: 004147e7(*)
;rect EntityBaseB... -f4 ;XREF[7,7]: 00414879(W),004148d4(*),00414921(*),0041495f(*),004149a4(RW),
; 004149c9(*),00414a3f(*),00414822(W),0041482d(W),00414852(W),
; 00414899(W),004148a4(W),004149af(W),004149b8(W)
;partCount short HASH...
;bad undefined1 HASH...
;structural... short HASH...
;ladderCount short HASH...
;pSpriteId undefined4 HASH...
;XREF[2]: 0041437a(c),00414cb2(c)
CODE:00414750 55 PUSH EBP
CODE:00414751 8bec MOV EBP,ESP
CODE:00414753 81c410ffffff ADD ESP,0xffffff10
CODE:00414759 53 PUSH EBX
CODE:0041475a 56 PUSH ESI
CODE:0041475b 57 PUSH EDI
CODE:0041475c 66c745fe0000 MOV word ptr [EBP + locationIndex+0x4],0x0
CODE:00414762 66c745da0100 MOV word ptr [EBP + result+0x4],0x1
CODE:00414768 8b4508 MOV EAX,dword ptr [EBP + room+0x4]
;is room obverse?
CODE:0041476b f60001 TEST byte ptr [EAX],0x1
CODE:0041476e 7436 JZ LAB_004147a6
;rooms #1 through #3, obverse side (small sprites), six floors
CODE:00414770 66b80600 MOV rows,0x6
CODE:00414774 66c745f81000 MOV word ptr [EBP + firstPartX+0x4],16
CODE:0041477a 66c745f60f00 MOV word ptr [EBP + columns+0x4],15
CODE:00414780 66c745f43400 MOV word ptr [EBP + firstPartY+0x4],52
CODE:00414786 66c745f23200 MOV word ptr [EBP + rowHeight+0x4],50
CODE:0041478c 66c745f0c70b MOV word ptr [EBP + baseSpriteId+0x4],0xbc7
CODE:00414792 66c745ee1000 MOV word ptr [EBP + partWidth?+0x4],16
CODE:00414798 66c745ec2000 MOV word ptr [EBP + columnWidth+0x4],32
CODE:0041479e 66c745ea0d00 MOV word ptr [EBP + partHeight+0x4],13
CODE:004147a4 eb34 JMP LAB_004147da
;room #4 through #15, reverse side (big sprites), three floors
LAB_004147a6: ;XREF[1]: 0041476e(j)
CODE:004147a6 66b80300 MOV rows,0x3
CODE:004147aa 66c745f81800 MOV word ptr [EBP + firstPartX+0x4],24
CODE:004147b0 66c745f60700 MOV word ptr [EBP + columns+0x4],0x7
CODE:004147b6 66c745f45800 MOV word ptr [EBP + firstPartY+0x4],88
CODE:004147bc 66c745f26400 MOV word ptr [EBP + rowHeight+0x4],0x64
CODE:004147c2 66c745f04a0c MOV word ptr [EBP + baseSpriteId+0x4],0xc4a
CODE:004147c8 66c745ee2000 MOV word ptr [EBP + partWidth?+0x4],32
CODE:004147ce 66c745ec4000 MOV word ptr [EBP + columnWidth+0x4],64
CODE:004147d4 66c745ea1800 MOV word ptr [EBP + partHeight+0x4],24
LAB_004147da: ;XREF[1]: 004147a4(j)
CODE:004147da 0fbfc0 MOVSX rows,rows
CODE:004147dd 0fbf55f6 MOVSX EDX,word ptr [EBP + columns+0x4]
;generate a complete but random list of possible locations [0,locations);
;locations are numbered in latin reading order, e.g. for obverse (15x6),
;|0 1 2 3 4 5 6 7 8 9 10 11 12 13 14|
;|15 16 17 18 19 20 21 22 23 24 25 26 27 28 29|
;|... |
CODE:004147e1 f7ea IMUL EDX
CODE:004147e3 668945fc MOV word ptr [EBP + locationCount+0x4],rows
CODE:004147e7 8d8520ffffff LEA rows=>locations,[EBP + 0xffffff20]
CODE:004147ed 50 PUSH rows
CODE:004147ee 668b45fc MOV rows,word ptr [EBP + locationCount+0x4]
CODE:004147f2 50 PUSH rows
CODE:004147f3 e8e06b0100 CALL DonkeyShuffle ;void DonkeyShuffle(short len, short ...
CODE:004147f8 83c408 ADD ESP,0x8
;for count times...
CODE:004147fb 66c745fa0000 MOV word ptr [EBP + i+0x4],0x0
CODE:00414801 668b45fa MOV rows,word ptr [EBP + i+0x4]
CODE:00414805 663b450c CMP rows,word ptr [EBP + count+0x4]
CODE:00414809 0f8d8d020000 JGE LAB_00414a9c
;...attempt to place a part entity...
LAB_0041480f: ;XREF[1]: 00414a96(j)
CODE:0041480f e82affffff CALL NextAvailableEntityNode ;EntityNode * NextAvailableEntityNode...
CODE:00414814 8945e4 MOV dword ptr [EBP + entityNode+0x4],rows
CODE:00414817 66c745e80000 MOV word ptr [EBP + done+0x4],0x0
CODE:0041481d e96c010000 JMP LAB_0041498e
;...at the next location from the list that passes certain tests:
LAB_00414822: ;XREF[1]: 00414993(j)
CODE:00414822 66c78518f... MOV word ptr [EBP + rect.field1_0x8+0x4],0x0
CODE:0041482b 33c0 XOR rows,rows
CODE:0041482d 89851affffff MOV dword ptr [EBP +...,rows
CODE:00414833 0fbf45fe MOVSX rows,word ptr [EBP + locationIndex+0x4]
CODE:00414837 0fbf84452... MOVSX rows,word ptr [EBP + rows*0x2 + 0xfff...
CODE:0041483f 0fbf55f6 MOVSX EDX,word ptr [EBP + columns+0x4]
CODE:00414843 8bca MOV ECX,EDX
CODE:00414845 99 CDQ
CODE:00414846 f7f9 IDIV ECX
CODE:00414848 0fbf55f2 MOVSX EDX,word ptr [EBP + rowHeight+0x4]
CODE:0041484c f7ea IMUL EDX
CODE:0041484e 660345f4 ADD rows,word ptr [EBP + firstPartY+0x4]
CODE:00414852 66898512f... MOV word ptr [EBP + rect+0x6],rows
CODE:00414859 0fbf45fe MOVSX rows,word ptr [EBP + locationIndex+0x4]
CODE:0041485d 0fbf84452... MOVSX rows,word ptr [EBP + rows*0x2 + 0xfff...
CODE:00414865 0fbf55f6 MOVSX EDX,word ptr [EBP + columns+0x4]
CODE:00414869 8bca MOV ECX,EDX
CODE:0041486b 99 CDQ
CODE:0041486c f7f9 IDIV ECX
CODE:0041486e 0fbf45ec MOVSX rows,word ptr [EBP + columnWidth+0x4]
CODE:00414872 0fafd0 IMUL EDX,rows
CODE:00414875 660355f8 ADD DX,word ptr [EBP + firstPartX+0x4]
CODE:00414879 66899510f... MOV word ptr [EBP + rect.inner.x+0x4],DX
CODE:00414880 66ff45fe INC word ptr [EBP + locationIndex+0x4]
CODE:00414884 668b45fe MOV rows,word ptr [EBP + locationIndex+0x4]
CODE:00414888 663b45fc CMP rows,word ptr [EBP + locationCount+0x4]
CODE:0041488c 7c07 JL LAB_00414895
CODE:0041488e 33c0 XOR rows,rows
CODE:00414890 e90b020000 JMP LAB_00414aa0
LAB_00414895: ;XREF[1]: 0041488c(j)
CODE:00414895 668b45ec MOV rows,word ptr [EBP + columnWidth+0x4]
CODE:00414899 66898514f... MOV word ptr [EBP + rect+0x8],rows
CODE:004148a0 668b45ea MOV rows,word ptr [EBP + partHeight+0x4]
CODE:004148a4 66898516f... MOV word ptr [EBP + rect+0xa],rows
CODE:004148ab 33f6 XOR ESI,ESI
CODE:004148ad 8b4508 MOV rows,dword ptr [EBP + room+0x4]
;1. avoid intersecting other part entities
CODE:004148b0 668bb89e0... MOV DI,word ptr [rows + 0x9e]
CODE:004148b7 8b4508 MOV rows,dword ptr [EBP + room+0x4]
CODE:004148ba ffb0a0000000 PUSH dword ptr [rows + 0xa0]
CODE:004148c0 e823080200 CALL DlistHead ;DlistNode * DlistHead(Dlist * list)
CODE:004148c5 59 POP ECX
CODE:004148c6 8945e0 MOV dword ptr [EBP + partNode+0x4],rows
CODE:004148c9 33db XOR EBX,EBX
CODE:004148cb eb29 JMP LAB_004148f6
LAB_004148cd: ;XREF[1]: 004148fe(j)
CODE:004148cd 8b45e0 MOV rows,dword ptr [EBP + partNode+0x4]
CODE:004148d0 83c00c ADD rows,0xc
CODE:004148d3 50 PUSH rows
CODE:004148d4 8d8510ffffff LEA rows=>rect,[EBP + 0xffffff10]
CODE:004148da 50 PUSH rows
CODE:004148db e828450000 CALL Rect16::checkCollision ;uint checkCollision(Rect16 * p, Rect...
CODE:004148e0 6685c0 TEST collision,collision
CODE:004148e3 7404 JZ LAB_004148e9
CODE:004148e5 66be0100 MOV SI,0x1
LAB_004148e9: ;XREF[1]: 004148e3(j)
CODE:004148e9 ff75e0 PUSH dword ptr [EBP + partNode+0x4]
CODE:004148ec e81c080200 CALL DlistNext ;DlistNode * DlistNext(DlistNode * node)
CODE:004148f1 59 POP ECX
CODE:004148f2 8945e0 MOV dword ptr [EBP + partNode+0x4],collision
CODE:004148f5 43 INC EBX
LAB_004148f6: ;XREF[1]: 004148cb(j)
CODE:004148f6 6685f6 TEST SI,SI
CODE:004148f9 7505 JNZ LAB_00414900
CODE:004148fb 663bfb CMP DI,BX
CODE:004148fe 7fcd JG LAB_004148cd
LAB_00414900: ;XREF[1]: 004148f9(j)
CODE:00414900 8b4508 MOV collision,dword ptr [EBP + room+0x4]
;2. avoid intersecting structural entities of type > 3 (e.g. gaps, doors)
CODE:00414903 8b407e MOV collision,dword ptr [collision + 0x7e]
CODE:00414906 8945d4 MOV dword ptr [EBP + entity+0x4],collision
CODE:00414909 8b4508 MOV collision,dword ptr [EBP + room+0x4]
CODE:0041490c 668b7802 MOV DI,word ptr [collision + 0x2]
CODE:00414910 33db XOR EBX,EBX
CODE:00414912 eb27 JMP LAB_0041493b
LAB_00414914: ;XREF[1]: 00414943(j)
CODE:00414914 8b45d4 MOV collision,dword ptr [EBP + entity+0x4]
CODE:00414917 6683781004 CMP word ptr [collision + 0x10],0x4
CODE:0041491c 7c18 JL LAB_00414936
CODE:0041491e ff75d4 PUSH dword ptr [EBP + entity+0x4]
CODE:00414921 8d8510ffffff LEA collision=>rect,[EBP + 0xffffff10]
CODE:00414927 50 PUSH collision
CODE:00414928 e8db440000 CALL Rect16::checkCollision ;uint checkCollision(Rect16 * p, Rect...
CODE:0041492d 6685c0 TEST collision,collision
CODE:00414930 7404 JZ LAB_00414936
CODE:00414932 66be0100 MOV SI,0x1
LAB_00414936: ;XREF[2]: 0041491c(j),00414930(j)
CODE:00414936 8345d420 ADD dword ptr [EBP + entity+0x4],0x20
CODE:0041493a 43 INC EBX
LAB_0041493b: ;XREF[1]: 00414912(j)
CODE:0041493b 6685f6 TEST SI,SI
CODE:0041493e 7505 JNZ LAB_00414945
CODE:00414940 663bfb CMP DI,BX
CODE:00414943 7fcf JG LAB_00414914
LAB_00414945: ;XREF[1]: 0041493e(j)
CODE:00414945 8b4508 MOV collision,dword ptr [EBP + room+0x4]
;3. avoid intersecting ladder entities (vents, paddles, trampolines)
CODE:00414948 668b780a MOV DI,word ptr [collision + 0xa]
CODE:0041494c 8b4508 MOV collision,dword ptr [EBP + room+0x4]
CODE:0041494f 8b808e000000 MOV collision,dword ptr [collision + 0x8e]
CODE:00414955 8945dc MOV dword ptr [EBP + ladder+0x4],collision
CODE:00414958 33db XOR j,j
CODE:0041495a eb1d JMP LAB_00414979
LAB_0041495c: ;XREF[1]: 00414981(j)
CODE:0041495c ff75dc PUSH dword ptr [EBP + ladder+0x4]
CODE:0041495f 8d8510ffffff LEA collision=>rect,[EBP + 0xffffff10]
CODE:00414965 50 PUSH collision
CODE:00414966 e89d440000 CALL Rect16::checkCollision ;uint checkCollision(Rect16 * p, Rect...
CODE:0041496b 6685c0 TEST collision,collision
CODE:0041496e 7404 JZ LAB_00414974
CODE:00414970 66be0100 MOV SI,0x1
LAB_00414974: ;XREF[1]: 0041496e(j)
CODE:00414974 8345dc28 ADD dword ptr [EBP + ladder+0x4],0x28
CODE:00414978 43 INC j
LAB_00414979: ;XREF[1]: 0041495a(j)
CODE:00414979 6685f6 TEST SI,SI
CODE:0041497c 7505 JNZ LAB_00414983
CODE:0041497e 663bfb CMP DI,j
CODE:00414981 7fd9 JG LAB_0041495c
LAB_00414983: ;XREF[1]: 0041497c(j)
CODE:00414983 6685f6 TEST SI,SI
CODE:00414986 7506 JNZ LAB_0041498e
CODE:00414988 66c745e80100 MOV word ptr [EBP + done+0x4],0x1
LAB_0041498e: ;XREF[2]: 0041481d(j),00414986(j)
CODE:0041498e 66837de800 CMP word ptr [EBP + done+0x4],0x0
CODE:00414993 0f8489feffff JZ LAB_00414822
;what the fuck?
CODE:00414999 0fbf45ec MOVSX collision,word ptr [EBP + columnWidth...
CODE:0041499d d1f8 SAR wtf,0x1
CODE:0041499f 7903 JNS LAB_004149a4
CODE:004149a1 83d000 ADC wtf,0x0
LAB_004149a4: ;XREF[1]: 0041499f(j)
CODE:004149a4 66018510f... ADD word ptr [EBP + rect.inner.x+0x4],wtf
CODE:004149ab 668b45ee MOV wtf,word ptr [EBP + partWidth?+0x4]
CODE:004149af 66898514f... MOV word ptr [EBP + rect+0x8],wtf
CODE:004149b6 33c0 XOR wtf,wtf
CODE:004149b8 89851affffff MOV dword ptr [EBP +...,wtf
CODE:004149be 8b45e4 MOV wtf,dword ptr [EBP + entityNode+0x4]
CODE:004149c1 83c00c ADD wtf,0xc
CODE:004149c4 8945d4 MOV dword ptr [EBP + entity+0x4],wtf
CODE:004149c7 6a0e PUSH 0xe
CODE:004149c9 8d8510ffffff LEA wtf=>rect,[EBP + 0xffffff10]
CODE:004149cf 50 PUSH wtf
CODE:004149d0 ff75d4 PUSH dword ptr [EBP + entity+0x4]
CODE:004149d3 e874b40300 CALL Memcpy ;void * Memcpy(void * dest, void * sr...
CODE:004149d8 83c40c ADD ESP,0xc
CODE:004149db 8b45d4 MOV wtf,dword ptr [EBP + entity+0x4]
CODE:004149de 668b55f0 MOV DX,word ptr [EBP + baseSpriteId+0x4]
CODE:004149e2 6689500e MOV word ptr [wtf + 0xe],DX
CODE:004149e6 66817d10e803 CMP word ptr [EBP + partId+0x4],0x3e8
CODE:004149ec 743d JZ LAB_00414a2b
CODE:004149ee 66837d10ff CMP word ptr [EBP + partId+0x4],-0x1
CODE:004149f3 750e JNZ LAB_00414a03
;no partId given, so place random part as fresh part
CODE:004149f5 e8f98e0200 CALL NextInitialPartId ;PartId NextInitialPartId(void)
CODE:004149fa 8b55d4 MOV EDX,dword ptr [EBP + entity+0x4]
CODE:004149fd 66894212 MOV word ptr [EDX + 0x12],id
CODE:00414a01 eb31 JMP LAB_00414a34
LAB_00414a03: ;XREF[1]: 004149f3(j)
CODE:00414a03 8b45d4 MOV id,dword ptr [EBP + entity+0x4]
CODE:00414a06 668b5510 MOV DX,word ptr [EBP + partId+0x4]
;place given partId as either fresh or recycled
CODE:00414a0a 66895012 MOV word ptr [id + 0x12],DX
CODE:00414a0e 0fbf4510 MOVSX id,word ptr [EBP + partId+0x4]
CODE:00414a12 6bc031 IMUL id,id,0x31
CODE:00414a15 8b153c954600 MOV EDX,dword ptr [DATA:$Level.partDefini...;= NaP
;is part recycled?
CODE:00414a1b f644423740 TEST byte ptr [EDX + id*0x2 + 0x37],0x40
CODE:00414a20 7412 JZ LAB_00414a34
CODE:00414a22 8b45d4 MOV id,dword ptr [EBP + entity+0x4]
CODE:00414a25 66ff400e INC word ptr [id + 0xe]
CODE:00414a29 eb09 JMP LAB_00414a34
LAB_00414a2b: ;XREF[1]: 004149ec(j)
CODE:00414a2b 8b45d4 MOV id,dword ptr [EBP + entity+0x4]
;partId is bananas, so place bananas as a fresh part
CODE:00414a2e 66c74012e803 MOV word ptr [id + 0x12],0x3e8
LAB_00414a34: ;XREF[3]: 00414a01(j),00414a20(j),00414a29(j)
CODE:00414a34 8b45d4 MOV id,dword ptr [EBP + entity+0x4]
CODE:00414a37 66c740140000 MOV word ptr [id + 0x14],0x0
CODE:00414a3d 6a0a PUSH 0xa
CODE:00414a3f 8d8510ffffff LEA id=>rect,[EBP + 0xffffff10]
CODE:00414a45 50 PUSH id
CODE:00414a46 8b45d4 MOV id,dword ptr [EBP + entity+0x4]
CODE:00414a49 83c016 ADD id,0x16
CODE:00414a4c 50 PUSH id
CODE:00414a4d e8fab30300 CALL Memcpy ;void * Memcpy(void * dest, void * sr...
CODE:00414a52 83c40c ADD ESP,0xc
CODE:00414a55 8b45d4 MOV id,dword ptr [EBP + entity+0x4]
CODE:00414a58 66c7401e0008 MOV word ptr [id + 0x1e],0x800
CODE:00414a5e 8b4508 MOV id,dword ptr [EBP + room+0x4]
CODE:00414a61 66ff809e0... INC word ptr [id + 0x9e]
CODE:00414a68 8b45e4 MOV id,dword ptr [EBP + entityNode+0x4]
CODE:00414a6b 66c740080000 MOV word ptr [id + 0x8],0x0
CODE:00414a71 68ffff0000 PUSH 0xffff
CODE:00414a76 ff75e4 PUSH dword ptr [EBP + entityNode+0x4]
CODE:00414a79 8b4508 MOV id,dword ptr [EBP + room+0x4]
CODE:00414a7c ffb0a0000000 PUSH dword ptr [id + 0xa0]
CODE:00414a82 e840070200 CALL DlistInsert ;void DlistInsert(Dlist * list, Dlist...
CODE:00414a87 83c40c ADD ESP,0xc
CODE:00414a8a 66ff45fa INC word ptr [EBP + i+0x4]
CODE:00414a8e 668b45fa MOV id,word ptr [EBP + i+0x4]
CODE:00414a92 663b450c CMP id,word ptr [EBP + count+0x4]
CODE:00414a96 0f8c73fdffff JL LAB_0041480f
LAB_00414a9c: ;XREF[1]: 00414809(j)
CODE:00414a9c 668b45da MOV id,word ptr [EBP + result+0x4]
LAB_00414aa0: ;XREF[1]: 00414890(j)
CODE:00414aa0 5f POP EDI
CODE:00414aa1 5e POP ESI
CODE:00414aa2 5b POP j
CODE:00414aa3 8be5 MOV ESP,EBP
CODE:00414aa5 5d POP EBP
CODE:00414aa6 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00414aa7(undefined4 param_1, undefined4 param_2, uint param_3, uint param_4, int param_5)
;param_1 undefined4 EAX
;param_2 undefined4 EDX
;param_3 uint ECX
;param_4 uint 4 ;XREF[1]: 00414aaf(R)
;param_5 int 8 ;XREF[1]: 00414aac(R)
;XREF[4]: 00417489(c),004174c6(c),0041a1a2(c),0041a24c(c)
CODE:00414aa7 55 PUSH EBP
CODE:00414aa8 8bec MOV EBP,ESP
CODE:00414aaa 53 PUSH EBX
CODE:00414aab 56 PUSH ESI
CODE:00414aac 8b5d0c MOV EBX,dword ptr [EBP + param_5+0x4]
CODE:00414aaf 8b4508 MOV param_1,dword ptr [EBP + param_4+0x4]
CODE:00414ab2 0fbfd0 MOVSX param_2,param_1
CODE:00414ab5 8b3495f05... MOV ESI,dword ptr [param_2*0x4 + DATA:$Ro...;= ??
CODE:00414abc 66c743080100 MOV word ptr [EBX + 0x8],0x1
CODE:00414ac2 66ff8e9e0... DEC word ptr [ESI + 0x9e]
CODE:00414ac9 663b05760... CMP param_1,word ptr [DATA:$RoomIndex]
CODE:00414ad0 7513 JNZ LAB_00414ae5
CODE:00414ad2 ff7316 PUSH dword ptr [EBX + 0x16]
CODE:00414ad5 e832e2ffff CALL FUN_00412d0c ;undefined4 FUN_00412d0c(uint param_1...
CODE:00414ada 59 POP param_3
CODE:00414adb 894316 MOV dword ptr [EBX + 0x16],param_1
CODE:00414ade 66ff0d180... DEC word ptr [DATA:DAT_00460318]
LAB_00414ae5: ;XREF[1]: 00414ad0(j)
CODE:00414ae5 53 PUSH EBX
CODE:00414ae6 ffb6a0000000 PUSH dword ptr [ESI + 0xa0]
CODE:00414aec e859070200 CALL DlistRemove ;void DlistRemove(Dlist * list, Dlist...
CODE:00414af1 83c408 ADD ESP,0x8
CODE:00414af4 5e POP ESI
CODE:00414af5 5b POP EBX
CODE:00414af6 5d POP EBP
CODE:00414af7 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined LoadPartEntity(undefined2 roomIndex, undefined2 x, undefined2 row, undefined2 partId, undefined2 param_5)
;roomIndex undefined2 4 ;XREF[2]: 00414b01(R),00414be4(R)
;x undefined2 8 ;XREF[1]: 00414b1c(R)
;row undefined2 c ;XREF[4]: 00414b29(R),00414b4c(R),00414b53(RW),00414b58(R)
;partId undefined2 10 ;XREF[3]: 00414b79(R),00414b81(R),00414bb0(R)
;param_5 undefined2 14 ;XREF[1]: 00414bd6(R)
;spriteId undefined2 -6 ;XREF[4]: 00414b44(W),00414b73(W),00414b95(RW),00414ba8(R)
;rect EntityBaseB... -14 ;XREF[4,8]: 00414b20(W),00414b9b(*),00414bc0(*),00414c0d(R),00414b16(W),
; 00414b34(W),00414b38(W),00414b3e(W),00414b63(W),00414b67(W),
; 00414b6d(W),00414c08(R)
;room undefined4 HASH...
;XREF[2]: 00414e80(c),00417525(c)
CODE:00414af8 55 PUSH EBP
CODE:00414af9 8bec MOV EBP,ESP
CODE:00414afb 83c4f0 ADD ESP,-0x10
CODE:00414afe 53 PUSH EBX
CODE:00414aff 56 PUSH ESI
CODE:00414b00 57 PUSH EDI
CODE:00414b01 0fbf4508 MOVSX EAX,word ptr [EBP + roomIndex+0x4]
CODE:00414b05 8b3c85f05... MOV EDI,dword ptr [EAX*0x4 + DATA:$Rooms] ;= ??
CODE:00414b0c e82dfcffff CALL NextAvailableEntityNode ;EntityNode * NextAvailableEntityNode...
CODE:00414b11 8bf0 MOV ESI,EAX
CODE:00414b13 8d5e0c LEA EBX,[ESI + 0xc]
CODE:00414b16 66c745f80000 MOV word ptr [EBP + rect.field1_0x8+0x4],0x0
CODE:00414b1c 668b450c MOV AX,word ptr [EBP + x+0x4]
CODE:00414b20 668945f0 MOV word ptr [EBP + rect.inner.x+0x4],AX
CODE:00414b24 f60701 TEST byte ptr [EDI],0x1
CODE:00414b27 7423 JZ LAB_00414b4c
CODE:00414b29 0fbf4510 MOVSX EAX,word ptr [EBP + row+0x4]
CODE:00414b2d 6bc032 IMUL EAX,EAX,0x32
CODE:00414b30 6683c034 ADD AX,52
CODE:00414b34 668945f2 MOV word ptr [EBP + rect+0x6],AX
CODE:00414b38 66c745f40a00 MOV word ptr [EBP + rect+0x8],0xa
CODE:00414b3e 66c745f60700 MOV word ptr [EBP + rect+0xa],0x7
CODE:00414b44 66c745fec70b MOV word ptr [EBP + spriteId+0x4],0xbc7
CODE:00414b4a eb2d JMP LAB_00414b79
LAB_00414b4c: ;XREF[1]: 00414b27(j)
CODE:00414b4c 66837d1003 CMP word ptr [EBP + row+0x4],0x3
CODE:00414b51 7c05 JL LAB_00414b58
CODE:00414b53 66834510fd ADD word ptr [EBP + row+0x4],-0x3
LAB_00414b58: ;XREF[1]: 00414b51(j)
CODE:00414b58 0fbf4510 MOVSX EAX,word ptr [EBP + row+0x4]
CODE:00414b5c 6bc064 IMUL EAX,EAX,0x64
CODE:00414b5f 6683c058 ADD AX,88
CODE:00414b63 668945f2 MOV word ptr [EBP + rect+0x6],AX
CODE:00414b67 66c745f41400 MOV word ptr [EBP + rect+0x8],20
CODE:00414b6d 66c745f60d00 MOV word ptr [EBP + rect+0xa],13
CODE:00414b73 66c745fe4a0c MOV word ptr [EBP + spriteId+0x4],0xc4a
LAB_00414b79: ;XREF[1]: 00414b4a(j)
CODE:00414b79 66817d14e803 CMP word ptr [EBP + partId+0x4],0x3e8
CODE:00414b7f 7418 JZ LAB_00414b99
CODE:00414b81 0fbf4514 MOVSX EAX,word ptr [EBP + partId+0x4]
CODE:00414b85 6bc031 IMUL EAX,EAX,0x31
CODE:00414b88 8b153c954600 MOV EDX,dword ptr [DATA:$Level.partDefini...;= NaP
CODE:00414b8e f644423740 TEST byte ptr [EDX + EAX*0x2 + 0x37],0x40
CODE:00414b93 7404 JZ LAB_00414b99
CODE:00414b95 66ff45fe INC word ptr [EBP + spriteId+0x4]
LAB_00414b99: ;XREF[2]: 00414b7f(j),00414b93(j)
CODE:00414b99 6a0e PUSH 0xe
CODE:00414b9b 8d45f0 LEA EAX=>rect,[EBP + -0x10]
CODE:00414b9e 50 PUSH EAX
CODE:00414b9f 53 PUSH EBX
CODE:00414ba0 e8a7b20300 CALL Memcpy ;void * Memcpy(void * dest, void * sr...
CODE:00414ba5 83c40c ADD ESP,0xc
CODE:00414ba8 668b45fe MOV AX,word ptr [EBP + spriteId+0x4]
CODE:00414bac 6689430e MOV word ptr [EBX + 0xe],AX
CODE:00414bb0 668b4514 MOV AX,word ptr [EBP + partId+0x4]
CODE:00414bb4 66894312 MOV word ptr [EBX + 0x12],AX
CODE:00414bb8 66c743140000 MOV word ptr [EBX + 0x14],0x0
CODE:00414bbe 6a0a PUSH 0xa
CODE:00414bc0 8d45f0 LEA EAX=>rect,[EBP + -0x10]
CODE:00414bc3 50 PUSH EAX
CODE:00414bc4 8d4316 LEA EAX,[EBX + 0x16]
CODE:00414bc7 50 PUSH EAX
CODE:00414bc8 e87fb20300 CALL Memcpy ;void * Memcpy(void * dest, void * sr...
CODE:00414bcd 83c40c ADD ESP,0xc
CODE:00414bd0 66c7431e0008 MOV word ptr [EBX + 0x1e],0x800
CODE:00414bd6 66837d1800 CMP word ptr [EBP + param_5+0x4],0x0
CODE:00414bdb 7549 JNZ LAB_00414c26
CODE:00414bdd 66ff879e0... INC word ptr [EDI + 0x9e]
CODE:00414be4 668b4508 MOV AX,word ptr [EBP + roomIndex+0x4]
CODE:00414be8 663b05760... CMP AX,word ptr [DATA:$RoomIndex]
CODE:00414bef 7535 JNZ LAB_00414c26
CODE:00414bf1 66ff05180... INC word ptr [DATA:DAT_00460318]
CODE:00414bf8 668b461a MOV AX,word ptr [ESI + 0x1a]
CODE:00414bfc 50 PUSH EAX
CODE:00414bfd e8c2deffff CALL FUN_00412ac4 ;undefined4 FUN_00412ac4(ushort param_1)
CODE:00414c02 59 POP ECX
CODE:00414c03 894616 MOV dword ptr [ESI + 0x16],EAX
CODE:00414c06 6a14 PUSH 0x14
CODE:00414c08 668b45f2 MOV AX,word ptr [EBP + rect+0x6]
CODE:00414c0c 50 PUSH EAX
CODE:00414c0d 668b45f0 MOV AX,word ptr [EBP + rect.inner.x+0x4]
CODE:00414c11 50 PUSH EAX
CODE:00414c12 ff7616 PUSH dword ptr [ESI + 0x16]
CODE:00414c15 e842edffff CALL FUN_0041395c ;undefined FUN_0041395c(undefined4 pa...
CODE:00414c1a 83c410 ADD ESP,0x10
CODE:00414c1d ff7616 PUSH dword ptr [ESI + 0x16]
CODE:00414c20 e8a3e1ffff CALL FUN_00412dc8 ;undefined FUN_00412dc8(undefined4 pa...
CODE:00414c25 59 POP ECX
LAB_00414c26: ;XREF[2]: 00414bdb(j),00414bef(j)
CODE:00414c26 66c746080000 MOV word ptr [ESI + 0x8],0x0
CODE:00414c2c 68ffff0000 PUSH 0xffff
CODE:00414c31 56 PUSH ESI
CODE:00414c32 ffb7a0000000 PUSH dword ptr [EDI + 0xa0]
CODE:00414c38 e88a050200 CALL DlistInsert ;void DlistInsert(Dlist * list, Dlist...
CODE:00414c3d 83c40c ADD ESP,0xc
CODE:00414c40 5f POP EDI
CODE:00414c41 5e POP ESI
CODE:00414c42 5b POP EBX
CODE:00414c43 8be5 MOV ESP,EBP
CODE:00414c45 5d POP EBP
CODE:00414c46 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00414c47(undefined param_1, undefined param_2, undefined param_3, undefined4 param_4)
;param_1 undefined ;param_2 undefined ;param_3 undefined ;param_4 undefined4