Function at 0x50e780
Capabilities:
Check http status code
Check os version
Contain obfuscated stackstrings
Encode data using base64
Get number of processors
Get process heap flags
Get process heap force flags
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6c53cf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x57c
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0x64], esi
xor ebx, ebx
lea ecx, [esp + 0x50]
mov dword [esp + 0x590], ebx
call fcn.0061e190
lea ecx, [esp + 0x80]
mov byte [esp + 0x590], 1
mov byte [esp + 0x1c], bl
call fcn.0061aaa0
push 0x7e0
lea ecx, [esp + 0x164]
mov byte [esp + 0x594], 2
call fcn.0054f000
push 0x101
lea ecx, [esp + 0x3f8]
mov byte [esp + 0x594], 3
call fcn.0054f000
lea ecx, [esp + 0x10]
mov byte [esp + 0x590], 4
call fcn.0061d780
mov al, byte [esp + 0x23]
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x28], al
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov cl, byte [esp + 0x23]
mov byte [esp + 0x48], bl
mov byte [esp + 0xb0], bl
mov byte [esp + 0xb1], 3
mov byte [esp + 0xb2], 6
mov byte [esp + 0xb3], 9
mov byte [esp + 0xb4], 0xb
mov byte [esp + 0xb5], 0xe
mov byte [esp + 0xb6], 0x11
mov byte [esp + 0xb7], 0x14
mov byte [esp + 0xb8], 0x17
mov byte [esp + 0xb9], 0x1a
mov byte [esp + 0xba], 0x1c
mov byte [esp + 0xbc], bl
mov byte [esp + 0xbd], 0x1a
mov byte [esp + 0xbe], 0x33
mov byte [esp + 0xbf], 0x4d
mov byte [esp + 0xc0], 0x66
mov byte [esp + 0xc1], 0x80
mov byte [esp + 0xc2], 0x99
mov byte [esp + 0xc3], 0xb3
mov byte [esp + 0xc4], 0xcc
mov byte [esp + 0xc5], 0xe6
mov byte [esp + 0xc6], 0xff
mov byte [esp + 0x154], 8
mov byte [esp + 0x155], 0xfe
mov byte [esp + 0x156], 1
mov byte [esp + 0x157], 0x3e
mov byte [esp + 0x158], bl
mov byte [esp + 0x159], bl
mov byte [esp + 0x15a], bl
mov byte [esp + 0x15b], bl
mov byte [esp + 0x15c], bl
mov byte [esp + 0xa4], 2
mov byte [esp + 0xa5], 1
mov byte [esp + 0xa6], 0x3e
mov byte [esp + 0x38], cl
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov byte [esp + 0x590], 7
mov byte [esp + 0x184], 8
mov byte [esp + 0x185], 7
mov al, 0xae
mov cl, 0xc0
mov byte [esp + 0x186], al
mov byte [esp + 0x187], 0x20
mov byte [esp + 0x188], bl
mov byte [esp + 0x189], bl
mov byte [esp + 0x18a], bl
mov byte [esp + 0x18b], cl
mov byte [esp + 0x18c], bl
mov byte [esp + 0x18d], bl
mov byte [esp + 0x18e], 8
mov byte [esp + 0x18f], 7
mov byte [esp + 0x190], al
mov byte [esp + 0x191], 0x20
mov byte [esp + 0x192], bl
mov byte [esp + 0x193], bl
mov byte [esp + 0x194], bl
mov byte [esp + 0x195], 0x80
mov byte [esp + 0x196], bl
mov byte [esp + 0x197], bl
mov byte [esp + 0x198], 8
mov byte [esp + 0x199], 7
mov byte [esp + 0x19a], al
mov byte [esp + 0x19b], 0x18
mov byte [esp + 0x19c], bl
mov byte [esp + 0x19d], bl
mov byte [esp + 0x19e], bl
mov byte [esp + 0x19f], bl
mov byte [esp + 0x1a0], bl
mov byte [esp + 0x1a1], bl
mov byte [esp + 0x1a2], 8
mov byte [esp + 0x1a3], 7
mov byte [esp + 0x1a4], al
mov byte [esp + 0x1a5], 0x20
mov byte [esp + 0x1a6], bl
mov byte [esp + 0x1a7], bl
mov byte [esp + 0x1a8], bl
mov byte [esp + 0x1a9], 0xa0
mov byte [esp + 0x1aa], bl
mov byte [esp + 0x1ab], bl
mov byte [esp + 0x1ac], 8
mov byte [esp + 0x1ad], 7
mov byte [esp + 0x1ae], al
mov byte [esp + 0x1af], 0x20
mov byte [esp + 0x1b0], bl
mov byte [esp + 0x1b1], bl
mov byte [esp + 0x1b2], bl
mov byte [esp + 0x1b3], 0x80
mov byte [esp + 0x1b4], bl
mov byte [esp + 0x1b5], bl
mov byte [esp + 0x1b6], 8
mov byte [esp + 0x1b7], 7
mov byte [esp + 0x1b8], al
mov byte [esp + 0x1b9], 0x18
mov byte [esp + 0x1ba], bl
mov byte [esp + 0x1bb], bl
mov byte [esp + 0x1bc], bl
mov byte [esp + 0x1bd], bl
mov byte [esp + 0x1be], bl
mov byte [esp + 0x1bf], bl
mov byte [esp + 0x1c0], 8
mov byte [esp + 0x1c1], 7
mov byte [esp + 0x1c2], al
mov byte [esp + 0x1c3], 0x20
mov byte [esp + 0x1c4], cl
mov byte [esp + 0x1c5], bl
mov byte [esp + 0x1c6], bl
mov byte [esp + 0x1c7], bl
mov byte [esp + 0x1c8], bl
mov byte [esp + 0x1c9], bl
mov byte [esp + 0x1ca], 8
mov byte [esp + 0x1cb], 7
mov byte [esp + 0x1cc], al
mov byte [esp + 0x1cd], 0x20
mov byte [esp + 0x1ce], 0x80
mov byte [esp + 0x1cf], bl
mov byte [esp + 0x1d0], bl
mov byte [esp + 0x1d1], bl
mov byte [esp + 0x1d2], bl
mov byte [esp + 0x1d3], bl
mov byte [esp + 0x1d4], 8
mov byte [esp + 0x1d5], 7
mov byte [esp + 0x1d6], al
mov byte [esp + 0x1d7], 0x20
mov byte [esp + 0x1d8], bl
mov byte [esp + 0x1d9], bl
mov byte [esp + 0x1da], bl
mov byte [esp + 0x1db], bl
mov byte [esp + 0x1dc], bl
mov byte [esp + 0x1dd], bl
mov byte [esp + 0x1de], 8
mov byte [esp + 0x1df], 7
mov byte [esp + 0x1e0], al
mov byte [esp + 0x1e1], 0x20
mov byte [esp + 0x1e2], 0x30
mov byte [esp + 0x1e3], bl
mov byte [esp + 0x1e4], bl
mov byte [esp + 0x1e5], bl
mov byte [esp + 0x1e6], bl
mov byte [esp + 0x1e7], bl
mov byte [esp + 0x1e8], 8
mov byte [esp + 0x1e9], 7
mov byte [esp + 0x1ea], al
mov byte [esp + 0x1eb], 0x20
mov byte [esp + 0x1ec], 0x20
mov byte [esp + 0x1ed], bl
mov byte [esp + 0x1ee], bl
mov byte [esp + 0x1ef], bl
mov byte [esp + 0x1f0], bl
mov byte [esp + 0x1f1], bl
mov byte [esp + 0x1f2], 8
mov byte [esp + 0x1f3], 7
mov byte [esp + 0x1f4], al
mov byte [esp + 0x1f5], 0x18
mov byte [esp + 0x1f6], bl
mov byte [esp + 0x1f7], bl
mov byte [esp + 0x1f8], bl
mov byte [esp + 0x1f9], bl
mov byte [esp + 0x1fa], bl
mov byte [esp + 0x1fb], bl
mov byte [esp + 0x1fc], 8
mov byte [esp + 0x1fd], 7
mov byte [esp + 0x1fe], al
mov byte [esp + 0x1ff], 0x18
mov byte [esp + 0x200], 0x20
mov byte [esp + 0x201], bl
mov byte [esp + 0x202], bl
mov byte [esp + 0x203], bl
mov byte [esp + 0x204], bl
mov byte [esp + 0x205], bl
mov byte [esp + 0x206], 8
mov byte [esp + 0x207], 7
mov byte [esp + 0x208], al
mov byte [esp + 0x209], 0x18
mov byte [esp + 0x20a], 0x30
mov byte [esp + 0x20b], bl
mov byte [esp + 0x20c], bl
mov byte [esp + 0x20d], bl
mov byte [esp + 0x20e], bl
mov byte [esp + 0x20f], bl
mov byte [esp + 0x210], 8
mov byte [esp + 0x211], 7
mov byte [esp + 0x212], al
mov byte [esp + 0x213], 0x18
mov byte [esp + 0x214], bl
mov byte [esp + 0x215], bl
mov byte [esp + 0x216], bl
mov byte [esp + 0x217], bl
mov byte [esp + 0x218], bl
mov byte [esp + 0x219], bl
mov byte [esp + 0x21a], 8
mov byte [esp + 0x21b], 7
mov byte [esp + 0x21c], al
mov byte [esp + 0x21d], 0x10
mov byte [esp + 0x21e], 0x10
mov byte [esp + 0x21f], bl
mov byte [esp + 0x220], bl
mov byte [esp + 0x221], bl
mov byte [esp + 0x222], bl
mov byte [esp + 0x223], bl
mov byte [esp + 0x224], 8
mov byte [esp + 0x225], 7
mov byte [esp + 0x226], al
mov byte [esp + 0x227], 0x10
mov byte [esp + 0x228], bl
mov byte [esp + 0x229], bl
mov byte [esp + 0x22a], bl
mov byte [esp + 0x22b], bl
mov byte [esp + 0x22c], bl
mov byte [esp + 0x22d], bl
mov byte [esp + 0x22e], 8
mov byte [esp + 0x22f], 7
mov byte [esp + 0x230], al
mov byte [esp + 0x231], 0x10
mov byte [esp + 0x232], bl
mov byte [esp + 0x233], bl
mov byte [esp + 0x234], bl
mov byte [esp + 0x235], bl
mov byte [esp + 0x236], bl
mov byte [esp + 0x237], bl
mov byte [esp + 0x238], 8
mov byte [esp + 0x239], 7
mov byte [esp + 0x23a], al
mov byte [esp + 0x23b], 0x20
mov byte [esp + 0x23c], 0xc
mov byte [esp + 0x23d], bl
mov byte [esp + 0x23e], bl
mov byte [esp + 0x23f], bl
mov byte [esp + 0x240], bl
mov byte [esp + 0x241], bl
mov byte [esp + 0x242], 8
mov byte [esp + 0x243], 7
mov byte [esp + 0x244], al
mov byte [esp + 0x245], 0x20
mov byte [esp + 0x246], 8
mov byte [esp + 0x247], bl
mov byte [esp + 0x248], bl
mov byte [esp + 0x249], bl
mov byte [esp + 0x24a], bl
mov byte [esp + 0x24b], bl
mov byte [esp + 0x24c], 8
mov byte [esp + 0x24d], 7
mov byte [esp + 0x24e], al
mov byte [esp + 0x24f], 0x18
mov byte [esp + 0x250], bl
mov byte [esp + 0x251], bl
mov byte [esp + 0x252], bl
mov byte [esp + 0x253], bl
mov byte [esp + 0x254], bl
mov byte [esp + 0x255], bl
mov byte [esp + 0x256], 8
mov byte [esp + 0x257], 7
mov byte [esp + 0x258], al
mov byte [esp + 0x259], 0x20
mov byte [esp + 0x25a], 3
mov byte [esp + 0x25b], bl
mov byte [esp + 0x25c], bl
mov byte [esp + 0x25d], bl
mov byte [esp + 0x25e], bl
mov byte [esp + 0x25f], bl
mov byte [esp + 0x260], 8
mov byte [esp + 0x261], 7
mov byte [esp + 0x262], al
mov byte [esp + 0x263], 0x20
mov byte [esp + 0x264], 2
mov byte [esp + 0x265], bl
mov byte [esp + 0x266], bl
mov byte [esp + 0x267], bl
mov byte [esp + 0x268], bl
mov byte [esp + 0x269], bl
mov byte [esp + 0x26a], 8
mov byte [esp + 0x26b], 7
mov byte [esp + 0x26c], al
mov byte [esp + 0x26d], 0x20
mov byte [esp + 0x26e], bl
mov byte [esp + 0x26f], bl
mov byte [esp + 0x270], bl
mov byte [esp + 0x271], bl
mov byte [esp + 0x272], bl
mov byte [esp + 0x273], bl
mov byte [esp + 0x274], 8
mov byte [esp + 0x275], 7
mov byte [esp + 0x276], al
mov byte [esp + 0x277], 0x20
mov byte [esp + 0x278], bl
mov byte [esp + 0x279], bl
mov byte [esp + 0x27a], bl
mov byte [esp + 0x27b], 0xc
mov byte [esp + 0x27c], bl
mov byte [esp + 0x27d], bl
mov byte [esp + 0x27e], 8
mov byte [esp + 0x27f], 7
mov byte [esp + 0x280], al
mov byte [esp + 0x281], 0x20
mov byte [esp + 0x282], bl
mov byte [esp + 0x283], bl
mov byte [esp + 0x284], bl
mov byte [esp + 0x285], 8
mov byte [esp + 0x286], bl
mov byte [esp + 0x287], bl
mov byte [esp + 0x288], 8
mov byte [esp + 0x289], 7
mov byte [esp + 0x28a], al
mov byte [esp + 0x28b], 0x18
mov byte [esp + 0x28c], bl
mov byte [esp + 0x28d], bl
mov byte [esp + 0x28e], bl
mov byte [esp + 0x28f], bl
mov byte [esp + 0x290], bl
mov byte [esp + 0x291], bl
mov byte [esp + 0x292], 8
mov byte [esp + 0x293], 7
mov byte [esp + 0x294], al
mov byte [esp + 0x295], 0x10
mov byte [esp + 0x296], bl
mov byte [esp + 0x297], bl
mov byte [esp + 0x298], bl
mov byte [esp + 0x299], 0x1f
mov byte [esp + 0x29a], bl
mov byte [esp + 0x29b], bl
mov byte [esp + 0x29c], 8
mov byte [esp + 0x29d], 7
mov byte [esp + 0x29e], al
mov byte [esp + 0x29f], 0x10
mov byte [esp + 0x2a0], bl
mov byte [esp + 0x2a1], bl
mov byte [esp + 0x2a2], bl
mov byte [esp + 0x2a3], 0x10
mov byte [esp + 0x2a4], bl
mov byte [esp + 0x2a5], bl
mov byte [esp + 0x2a6], 8
mov byte [esp + 0x2a7], 7
mov byte [esp + 0x2a8], al
mov byte [esp + 0x2a9], 0x10
mov byte [esp + 0x2aa], bl
mov byte [esp + 0x2ab], bl
mov byte [esp + 0x2ac], bl
mov byte [esp + 0x2ad], bl
mov byte [esp + 0x2ae], bl
mov byte [esp + 0x2af], bl
mov byte [esp + 0x2b0], 8
mov byte [esp + 0x2b1], 7
mov byte [esp + 0x2b2], al
mov byte [esp + 0x2b3], 0x10
mov byte [esp + 0x2b4], bl
mov byte [esp + 0x2b5], bl
mov byte [esp + 0x2b6], bl
mov byte [esp + 0x2b7], 0x18
mov byte [esp + 0x2b8], bl
mov byte [esp + 0x2b9], bl
mov byte [esp + 0x2ba], 8
mov byte [esp + 0x2bb], 7
mov byte [esp + 0x2bc], al
mov byte [esp + 0x2bd], 0x10
mov byte [esp + 0x2be], bl
mov byte [esp + 0x2bf], bl
mov byte [esp + 0x2c0], bl
mov byte [esp + 0x2c1], 0x10
mov byte [esp + 0x2c2], bl
mov byte [esp + 0x2c3], bl
mov byte [esp + 0x2c4], 8
mov byte [esp + 0x2c5], 7
mov byte [esp + 0x2c6], al
mov byte [esp + 0x2c7], 0x10
mov byte [esp + 0x2c8], bl
mov byte [esp + 0x2c9], bl
mov byte [esp + 0x2ca], bl
mov byte [esp + 0x2cb], bl
mov byte [esp + 0x2cc], bl
mov byte [esp + 0x2cd], bl
mov byte [esp + 0x2ce], 8
mov byte [esp + 0x2cf], 7
mov byte [esp + 0x2d0], al
mov byte [esp + 0x2d1], 0x10
mov byte [esp + 0x2d2], bl
mov byte [esp + 0x2d3], bl
mov byte [esp + 0x2d4], bl
mov byte [esp + 0x2d5], 0x14
mov byte [esp + 0x2d6], bl
mov byte [esp + 0x2d7], bl
mov byte [esp + 0x2d8], 8
mov byte [esp + 0x2d9], 7
mov byte [esp + 0x2da], al
mov byte [esp + 0x2db], 0x10
mov byte [esp + 0x2dc], bl
mov byte [esp + 0x2dd], bl
mov byte [esp + 0x2de], bl
mov byte [esp + 0x2df], 0x10
mov byte [esp + 0x2e0], bl
mov byte [esp + 0x2e1], bl
mov byte [esp + 0x2e2], 8
mov byte [esp + 0x2e3], 7
mov byte [esp + 0x2e4], al
mov byte [esp + 0x2e5], 0x10
mov byte [esp + 0x2e6], bl
mov byte [esp + 0x2e7], bl
mov byte [esp + 0x2e8], bl
mov byte [esp + 0x2e9], bl
mov byte [esp + 0x2ea], bl
mov byte [esp + 0x2eb], bl
mov byte [esp + 0x2ec], 8
mov byte [esp + 0x2ed], 7
mov byte [esp + 0x2ee], al
mov byte [esp + 0x2ef], 0x1e
mov byte [esp + 0x2f0], 8
mov byte [esp + 0x2f1], bl
mov byte [esp + 0x2f2], bl
mov byte [esp + 0x2f3], bl
mov byte [esp + 0x2f4], bl
mov byte [esp + 0x2f5], bl
mov byte [esp + 0x2f6], 8
mov byte [esp + 0x2f7], 7
mov byte [esp + 0x2f8], al
mov byte [esp + 0x2f9], 0x1e
mov byte [esp + 0x2fa], bl
mov byte [esp + 0x2fb], bl
mov byte [esp + 0x2fc], bl
mov byte [esp + 0x2fd], bl
mov byte [esp + 0x2fe], bl
mov byte [esp + 0x2ff], bl
mov byte [esp + 0x300], 8
mov byte [esp + 0x301], 7
mov byte [esp + 0x302], al
mov byte [esp + 0x303], 0x1e
mov byte [esp + 0x304], bl
mov byte [esp + 0x305], bl
mov byte [esp + 0x306], bl
mov byte [esp + 0x307], bl
mov byte [esp + 0x308], bl
mov byte [esp + 0x309], bl
mov byte [esp + 0x30a], 8
mov byte [esp + 0x30b], 7
mov byte [esp + 0x30c], al
mov byte [esp + 0x30d], 0x14
mov byte [esp + 0x30e], 0x10
mov byte [esp + 0x30f], bl
mov byte [esp + 0x310], bl
mov byte [esp + 0x311], bl
mov byte [esp + 0x312], bl
mov byte [esp + 0x313], bl
mov byte [esp + 0x314], 8
mov byte [esp + 0x315], 7
mov byte [esp + 0x316], al
mov byte [esp + 0x317], 0x14
mov byte [esp + 0x318], bl
mov byte [esp + 0x319], bl
mov byte [esp + 0x31a], bl
mov byte [esp + 0x31b], bl
mov byte [esp + 0x31c], bl
mov byte [esp + 0x31d], bl
mov byte [esp + 0x31e], 8
mov byte [esp + 0x31f], 7
mov byte [esp + 0x320], al
mov byte [esp + 0x321], 0x14
mov byte [esp + 0x322], bl
mov byte [esp + 0x323], bl
mov byte [esp + 0x324], bl
mov byte [esp + 0x325], bl
mov byte [esp + 0x326], bl
mov byte [esp + 0x327], bl
mov byte [esp + 0x328], 8
mov byte [esp + 0x329], 7
mov byte [esp + 0x32a], al
mov byte [esp + 0x32b], 0x18
mov byte [esp + 0x32c], 4
mov byte [esp + 0x32d], bl
mov byte [esp + 0x32e], bl
mov byte [esp + 0x32f], bl
mov byte [esp + 0x330], bl
mov byte [esp + 0x331], bl
mov byte [esp + 0x332], 8
mov byte [esp + 0x333], 7
mov byte [esp + 0x334], al
mov byte [esp + 0x335], 0x18
mov byte [esp + 0x336], bl
mov byte [esp + 0x337], bl
mov byte [esp + 0x338], bl
mov byte [esp + 0x339], bl
mov byte [esp + 0x33a], bl
mov byte [esp + 0x33b], bl
mov byte [esp + 0x33c], 8
mov byte [esp + 0x33d], 7
mov byte [esp + 0x33e], al
mov byte [esp + 0x33f], 0x18
mov byte [esp + 0x340], bl
mov byte [esp + 0x341], bl
mov byte [esp + 0x342], bl
mov byte [esp + 0x343], bl
mov byte [esp + 0x344], bl
mov byte [esp + 0x345], bl
mov byte [esp + 0x346], 8
mov byte [esp + 0x347], 7
mov byte [esp + 0x348], al
mov byte [esp + 0x349], 0x18
mov byte [esp + 0x34a], bl
mov byte [esp + 0x34b], bl
mov byte [esp + 0x34c], 8
mov byte [esp + 0x34d], bl
mov byte [esp + 0x34e], 0xff
mov byte [esp + 0x34f], bl
mov byte [esp + 0x350], 8
mov byte [esp + 0x351], 7
mov byte [esp + 0x352], al
mov byte [esp + 0x353], 0x18
mov byte [esp + 0x354], bl
mov byte [esp + 0x355], bl
mov byte [esp + 0x356], 8
mov byte [esp + 0x357], bl
mov byte [esp + 0x358], bl
mov byte [esp + 0x359], bl
mov byte [esp + 0x35a], 8
mov byte [esp + 0x35b], 7
mov byte [esp + 0x35c], al
mov byte [esp + 0x35d], 0x18
mov byte [esp + 0x35e], bl
mov byte [esp + 0x35f], bl
mov byte [esp + 0x360], bl
mov byte [esp + 0x361], bl
mov byte [esp + 0x362], bl
mov byte [esp + 0x363], bl
mov byte [esp + 0x364], 8
mov byte [esp + 0x365], 7
mov byte [esp + 0x366], al
mov byte [esp + 0x367], 0x18
mov byte [esp + 0x368], 3
mov byte [esp + 0x369], bl
mov byte [esp + 0x36a], bl
mov byte [esp + 0x36b], bl
mov byte [esp + 0x36c], bl
mov byte [esp + 0x36d], bl
mov byte [esp + 0x36e], 8
mov byte [esp + 0x36f], 7
mov byte [esp + 0x370], al
mov byte [esp + 0x371], 0x18
mov byte [esp + 0x372], 2
mov byte [esp + 0x373], bl
mov byte [esp + 0x374], bl
mov byte [esp + 0x375], bl
mov byte [esp + 0x376], bl
mov byte [esp + 0x377], bl
mov byte [esp + 0x378], 8
mov byte [esp + 0x379], 7
mov byte [esp + 0x37a], al
mov byte [esp + 0x37b], 0x18
mov byte [esp + 0x37c], bl
mov byte [esp + 0x37d], bl
mov byte [esp + 0x37e], bl
mov byte [esp + 0x37f], bl
mov byte [esp + 0x380], bl
mov byte [esp + 0x381], bl
mov byte [esp + 0xc8], 8
mov byte [esp + 0xc9], 7
mov byte [esp + 0xca], al
mov byte [esp + 0xcb], 0x14
mov byte [esp + 0xcc], 0x40
mov byte [esp + 0xcd], bl
mov byte [esp + 0xce], 0xd4
mov byte [esp + 0xcf], bl
mov byte [esp + 0xd0], bl
mov byte [esp + 0xd1], bl
mov byte [esp + 0xd2], 8
mov byte [esp + 0xd3], 7
mov byte [esp + 0xd4], al
mov byte [esp + 0xd5], 0x1d
mov byte [esp + 0xd6], 0x20
mov byte [esp + 0xd7], bl
mov byte [esp + 0xd8], bl
mov byte [esp + 0xd9], bl
mov byte [esp + 0xda], bl
mov byte [esp + 0xdb], bl
mov byte [esp + 0xdc], 8
mov byte [esp + 0xdd], 7
mov byte [esp + 0xde], al
mov byte [esp + 0xdf], 0x14
mov byte [esp + 0xe0], bl
mov byte [esp + 0xe1], bl
mov byte [esp + 0xe2], bl
mov byte [esp + 0xe3], bl
mov byte [esp + 0xe4], bl
mov byte [esp + 0xe5], bl
mov byte [esp + 0xe6], 8
mov byte [esp + 0xe7], 7
mov byte [esp + 0xe8], al
mov byte [esp + 0xe9], 0x1d
mov byte [esp + 0xea], bl
mov byte [esp + 0xeb], bl
mov byte [esp + 0xec], bl
mov byte [esp + 0xed], bl
mov byte [esp + 0xee], bl
mov byte [esp + 0xef], bl
mov byte [esp + 0xf0], 8
mov byte [esp + 0xf1], 7
mov byte [esp + 0xf2], al
mov byte [esp + 0xf3], 0x10
mov byte [esp + 0xf4], 0x20
mov byte [esp + 0xf5], bl
mov byte [esp + 0xf6], bl
mov byte [esp + 0xf7], bl
mov byte [esp + 0xf8], bl
mov byte [esp + 0xf9], bl
mov byte [esp + 0xfa], 8
mov byte [esp + 0xfb], 7
mov byte [esp + 0xfc], al
mov byte [esp + 0xfd], 0x10
mov byte [esp + 0xfe], bl
mov byte [esp + 0xff], bl
mov byte [esp + 0x100], bl
mov byte [esp + 0x101], bl
mov byte [esp + 0x102], bl
mov byte [esp + 0x103], bl
mov byte [esp + 0x104], 8
mov byte [esp + 0x105], 7
mov byte [esp + 0x106], al
mov byte [esp + 0x107], 0x18
mov byte [esp + 0x108], bl
mov byte [esp + 0x109], bl
mov byte [esp + 0x10a], 0x80
mov byte [esp + 0x10b], bl
mov byte [esp + 0x10c], bl
mov byte [esp + 0x10d], bl
mov byte [esp + 0x10e], 8
mov byte [esp + 0x10f], 7
mov byte [esp + 0x110], al
mov byte [esp + 0x111], 0x18
mov byte [esp + 0x112], bl
mov byte [esp + 0x113], bl
mov byte [esp + 0x114], bl
mov byte [esp + 0x115], bl
mov byte [esp + 0x116], bl
mov byte [esp + 0x117], bl
mov byte [esp + 0x118], 8
mov byte [esp + 0x119], 7
mov byte [esp + 0x11a], al
mov byte [esp + 0x11b], 0x1e
mov byte [esp + 0x11c], 0x80
mov byte [esp + 0x11d], bl
mov byte [esp + 0x11e], bl
mov byte [esp + 0x11f], bl
mov byte [esp + 0x120], bl
mov byte [esp + 0x121], bl
mov byte [esp + 0x122], 8
mov byte [esp + 0x123], 7
mov byte [esp + 0x124], al
mov byte [esp + 0x125], 0x1e
mov byte [esp + 0x126], bl
mov byte [esp + 0x127], bl
mov byte [esp + 0x128], bl
mov byte [esp + 0x129], bl
mov byte [esp + 0x12a], bl
mov byte [esp + 0x12b], bl
mov byte [esp + 0x12c], 8
mov byte [esp + 0x12d], 7
mov byte [esp + 0x12e], al
mov byte [esp + 0x12f], 0x1e
mov byte [esp + 0x130], 0x20
mov byte [esp + 0x131], bl
mov byte [esp + 0x132], bl
mov byte [esp + 0x133], bl
mov byte [esp + 0x134], bl
mov byte [esp + 0x135], bl
mov byte [esp + 0x136], 8
mov byte [esp + 0x137], 7
mov byte [esp + 0x138], al
mov byte [esp + 0x139], 0x1e
mov byte [esp + 0x13a], bl
mov byte [esp + 0x13b], bl
mov byte [esp + 0x13c], bl
mov byte [esp + 0x13d], bl
mov byte [esp + 0x13e], bl
mov byte [esp + 0x13f], bl
mov byte [esp + 0x140], 8
mov byte [esp + 0x141], 7
mov byte [esp + 0x142], al
mov byte [esp + 0x143], 0x14
mov byte [esp + 0x144], 0x80
mov byte [esp + 0x145], bl
mov byte [esp + 0x146], bl
mov byte [esp + 0x147], bl
mov byte [esp + 0x148], bl
mov byte [esp + 0x149], bl
mov byte [esp + 0x14a], 8
mov byte [esp + 0x14b], 7
mov byte [esp + 0x14c], al
mov byte [esp + 0x14d], 0x14
mov byte [esp + 0x14e], bl
mov byte [esp + 0x14f], bl
mov byte [esp + 0x150], bl
mov byte [esp + 0x151], bl
mov byte [esp + 0x152], bl
xor edx, edx
mov byte [esp + 0x38a], al
xor ecx, ecx
mov dword [esp + 0x396], edx
mov al, 0x6d
mov dword [esp + 0x3a1], ecx
mov word [esp + 0x39a], dx
mov byte [esp + 0x39f], al
mov byte [esp + 0x3a9], al
mov eax, dword [esi]
mov byte [esp + 0x3a5], cl
mov dword [esp + 0x3aa], edx
push ebx
mov ecx, esi
mov byte [esp + 0x157], bl
mov byte [esp + 0x38c], 8
mov byte [esp + 0x38d], 7
mov byte [esp + 0x38f], 0x10
mov byte [esp + 0x390], 0x40
mov byte [esp + 0x391], bl
mov byte [esp + 0x392], bl
mov byte [esp + 0x393], bl
mov byte [esp + 0x394], bl
mov byte [esp + 0x395], bl
mov byte [esp + 0x396], 3
mov byte [esp + 0x397], 2
mov byte [esp + 0x398], 0xaa
mov byte [esp + 0x399], bl
mov byte [esp + 0x3a0], 4
mov byte [esp + 0x3a1], 3
mov byte [esp + 0x3a2], 0x3b
mov byte [esp + 0x3a4], bl
mov byte [esp + 0x3aa], 3
mov byte [esp + 0x3ab], 2
mov byte [esp + 0x3ac], 0x1a
mov word [esp + 0x3b2], dx
call dword [eax + 0x20]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x18]
test ax, ax
jne 0x50fded
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
cmp esi, edi
mov byte [esp + 0x590], 6
je 0x50fd24
mov ecx, esi
call fcn.0061d8c0
add esi, 4
cmp esi, edi
jne 0x50fd12
mov esi, dword [esp + 0x3c]
push esi
call fcn.006a64d0
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
je 0x50fd5e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x50fd55
cmp al, 0xff
je 0x50fd55
dec al
mov byte [ecx], al
jmp 0x50fd5e
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov byte [esp + 0x590], 4
call fcn.0061d8c0
lea ecx, [esp + 0x3f4]
mov byte [esp + 0x590], 3
call fcn.0054f030
lea ecx, [esp + 0x160]
mov byte [esp + 0x590], 2
call fcn.0054f030
lea ecx, [esp + 0x80]
mov byte [esp + 0x590], 1
call fcn.0061ab90
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0x50fddc
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x50fdd3
cmp al, 0xff
je 0x50fdd3
dec al
mov byte [ecx], al
jmp 0x50fddc
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
jmp 0x511a96
push 5
lea ecx, [ebp + 8]
call fcn.0061daa0
push ecx
mov byte [esp + 0x18], al
mov ecx, esp
mov dword [esp + 0x10], esp
push 6
push 0x713764
call fcn.0061d820
lea eax, [esp + 0x3e8]
push eax
call fcn.0061ca80
add esp, 8
mov edi, eax
mov ecx, dword [edi + 8]
mov edx, dword [0x6dd1fc]
mov eax, ecx
mov byte [esp + 0x590], 8
cmp edx, eax
mov dword [esp + 0x24], eax
jae 0x50fe41
mov eax, edx
mov dword [esp + 0x24], eax
lea esi, [esp + 0x28]
cmp esi, edi
jne 0x50fe64
push edx
push eax
lea ecx, [esp + 0x30]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x30]
call fcn.004140f0
jmp 0x50fef1
cmp eax, ebx
jbe 0x50feb1
cmp eax, ecx
jne 0x50feb1
mov ecx, dword [edi + 4]
cmp ecx, ebx
jne 0x50fe78
mov ecx, 0x6dd1f8
cmp byte [ecx - 1], 0xfe
jae 0x50feb1
push 1
lea ecx, [esp + 0x2c]
call fcn.004138c0
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x50fe95
mov eax, 0x6dd1f8
mov dword [esp + 0x2c], eax
mov ecx, dword [edi + 8]
mov dword [esp + 0x30], ecx
mov edi, dword [edi + 0xc]
mov dword [esp + 0x34], edi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x50fef1
push 1
push eax
lea ecx, [esp + 0x30]
call fcn.00414230
test al, al
je 0x50fef1
mov edi, dword [edi + 4]
mov esi, 0x6dd1f8
cmp edi, ebx
je 0x50fecf
mov esi, edi
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
mov ecx, eax
push eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x2c]
call fcn.00414210
mov eax, dword [esp + 0x3e8]
mov byte [esp + 0x590], 7
cmp eax, ebx
je 0x50ff21
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x50ff18
cmp al, 0xff
je 0x50ff18
dec al
mov byte [ecx], al
jmp 0x50ff21
push ecx
call fcn.006a64d0
add esp, 4
mov eax, dword [esp + 0x14]
and eax, 0xff
lea esi, [eax - 0xbe]
cmp esi, 0x1b
ja case.0x50ff41.207
xor ecx, ecx
mov cl, byte [esi + 0x512a4c]
jmp dword [ecx*4 + 0x512a04]
mov byte [esp + 0x1c], bl
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 1
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 2
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 3
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 4
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 5
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 6
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 7
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 8
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 9
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 0xa
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 0xb
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 0xc
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 0xd
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 0xe
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 0xf
jmp case.0x50ff41.207
mov byte [esp + 0x1c], 0x10
lea esi, [eax - 0xc2]
cmp esi, 0x1a
ja case.0x50ffd3.200
xor edx, edx
mov dl, byte [esi + 0x512a84]
jmp dword [edx*4 + 0x512a68]
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x71db10
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
mov dl, byte [esp + 0x28]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x1c], esp
mov byte [ecx], dl
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [0x6dd1fc]
lea edx, [esp + 0x38]
push eax
push ebx
push edx
call fcn.004136c0
push ecx
mov byte [esp + 0x5a4], 9
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x71db08
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x5a4], 7
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x5100aa
dec eax
je 0x5105c5
jmp 0x5104bd
mov al, byte [esp + 0x23]
sub esp, 0x10
mov edx, esp
mov edi, 0x7143f4
or ecx, 0xffffffff
mov dword [esp + 0x1c], esp
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], ecx
push ecx
mov ecx, edx
call fcn.00414230
test al, al
je 0x510115
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov esi, 0x7143f4
mov edi, dword [ecx + 4]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 4]
mov dword [ecx + 8], eax
add eax, edx
mov byte [eax], bl
sub esp, 0x10
lea eax, [esp + 0x3a5]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
push 0x715df8
mov byte [esp + 0x5b8], 0xa
call fcn.00413180
sub esp, 0x10
lea edx, [esp + 0x3b7]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
push 0x713f04
mov byte [esp + 0x5c8], 0xb
call fcn.00413180
sub esp, 0x10
lea eax, [esp + 0x3c4]
mov ecx, esp
mov dword [esp + 0xe8], esp
push eax
push 0x72ba88
mov byte [esp + 0x5d8], 0xc
call fcn.00413180
sub esp, 0x10
lea edx, [ebp + 8]
mov esi, esp
mov dword [esp + 0xfc], esp
push ecx
mov byte [esp + 0x5e4], 0xd
mov ecx, esp
mov dword [esp + 0xbc], esp
push edx
call fcn.0061d790
push esi
call fcn.0061ca80
sub esp, 8
mov byte [esp + 0x5f0], 0xe
mov esi, esp
mov dword [esp + 0xc8], esp
push ecx
mov ecx, esp
mov dword [esp + 0xcc], esp
push 6
push 0x71db00
call fcn.0061d820
push esi
call fcn.0061ca80
add esp, 8
lea eax, [esp + 0x4a8]
mov ecx, 0x72bae0
mov byte [esp + 0x5f0], 7
push eax
call fcn.0061f180
mov cx, word [eax]
mov edx, dword [0x6dd1fc]
lea edi, [eax + 4]
mov word [esp + 0x50], cx
mov byte [esp + 0x590], 0xf
mov eax, dword [edi + 8]
mov ecx, eax
cmp edx, ecx
mov dword [esp + 0x24], ecx
jae 0x510227
mov ecx, edx
mov dword [esp + 0x24], ecx
lea esi, [esp + 0x54]
cmp esi, edi
jne 0x51024a
push edx
push ecx
lea ecx, [esp + 0x5c]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x5c]
call fcn.004140f0
jmp 0x5102d7
cmp ecx, ebx
jbe 0x510297
cmp ecx, eax
jne 0x510297
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x51025e
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x510297
push 1
lea ecx, [esp + 0x58]
call fcn.004138c0
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x51027b
mov eax, 0x6dd1f8
mov dword [esp + 0x58], eax
mov ecx, dword [edi + 8]
mov dword [esp + 0x5c], ecx
mov edi, dword [edi + 0xc]
mov dword [esp + 0x60], edi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5102d7
push 1
push ecx
lea ecx, [esp + 0x5c]
call fcn.00414230
test al, al
je 0x5102d7
mov edi, dword [edi + 4]
mov esi, 0x6dd1f8
cmp edi, ebx
je 0x5102b5
mov esi, edi
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x58]
mov ecx, eax
push eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x58]
call fcn.00414210
mov eax, dword [esp + 0x450]
mov byte [esp + 0x590], 7
cmp eax, ebx
je 0x510307
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5102fe
cmp al, 0xff
je 0x5102fe
dec al
mov byte [ecx], al
jmp 0x510307
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x50]
mov dword [esp + 0x450], ebx
mov dword [esp + 0x454], ebx
mov dword [esp + 0x458], ebx
call fcn.00627420
cmp ax, 2
je 0x5104bd
lea ecx, [esp + 0x50]
call fcn.0061e510
push ebx
push ebx
push ecx
mov dword [esp + 0x20], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x10
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x71daf8
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
cmp byte [0x72bd0c], bl
je 0x5103c4
push 0xc8
call fcn.0041afd0
add esp, 4
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x11
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71daf0
jmp 0x5104a6
fild dword [esp + 0x14]
fmul qword [0x6e14d0]
call fcn.006a7274
push 0x3e8
mov byte [esp + 0x3a4], al
call fcn.0041afd0
sub esp, 0x20
lea ecx, [esp + 0x3c0]
mov eax, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x84]
mov edx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
cmp ax, 4
jle 0x51047a
push 4
lea ecx, [esp + 0x14]
call fcn.0061daa0
cmp al, 0x7b
jne 0x51047a
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x12
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71daf0
jmp 0x5104a6
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x13
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71dae8
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
push 0x64
call fcn.0041afd0
mov al, byte [0x72bd0c]
add esp, 4
cmp al, bl
jne case.0x50ffd3.195
sub esp, 0x24
lea ecx, [esp + 0x3ca]
mov eax, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x84]
mov edx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
cmp ax, 6
jle case.0x50ffd3.195
push 6
lea ecx, [esp + 0x14]
call fcn.0061daa0
and eax, 0xff
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
shl ecx, 2
imul ecx
add edx, ecx
lea ecx, [esp + 0x74]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x71350c
push ecx
call fcn.006a6fa5
lea edi, [esp + 0x80]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov dword [esp + 0x18], ecx
push ecx
lea ecx, [esp + 0x30]
call fcn.00414230
test al, al
je case.0x50ffd3.195
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
mov ecx, eax
lea esi, [esp + 0x74]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov byte [eax + ecx], bl
jmp case.0x50ffd3.195
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
cmp esi, eax
mov byte [esp + 0x590], 6
mov edi, eax
je 0x5105f6
mov ecx, esi
call fcn.0061d8c0
add esi, 4
cmp esi, edi
jne 0x5105e4
mov esi, dword [esp + 0x3c]
push esi
call fcn.006a64d0
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
je 0x510630
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x510627
cmp al, 0xff
je 0x510627
dec al
mov byte [ecx], al
jmp 0x510630
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov byte [esp + 0x590], 4
call fcn.0061d8c0
lea ecx, [esp + 0x3f4]
mov byte [esp + 0x590], 3
call fcn.0054f030
lea ecx, [esp + 0x160]
mov byte [esp + 0x590], 2
call fcn.0054f030
lea ecx, [esp + 0x80]
mov byte [esp + 0x590], 1
call fcn.0061ab90
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0x510a85
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x510a7c
cmp al, 0xff
je 0x510a7c
dec al
mov byte [ecx], al
jmp 0x510a85
mov esi, dword [esp + 0x1c]
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x71db10
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
mov dl, byte [esp + 0x28]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x1c], esp
mov byte [ecx], dl
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [0x6dd1fc]
lea edx, [esp + 0x38]
push eax
push ebx
push edx
call fcn.004136c0
push ecx
mov byte [esp + 0x5a4], 0x14
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x5a4], 7
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x510788
dec eax
je 0x510964
jmp 0x5106b8
cmp byte [0x72bd0c], bl
je 0x5107a5
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x5107f3
mov eax, esi
sub esp, 0x24
and eax, 0xff
mov ecx, esp
mov dword [esp + 0x30], esp
push ebx
lea eax, [eax + eax*2]
push 1
lea edx, [eax + eax*4]
lea eax, [esp + edx*2 + 0x1b0]
push eax
push ecx
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push ecx
lea ecx, [esp + 0x88]
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
test ax, ax
je 0x5106b8
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 6
push 0x71db10
call fcn.0061d820
lea edx, [esp + 0x3e8]
push edx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov edx, dword [0x6dd1fc]
mov eax, ecx
mov byte [esp + 0x590], 0x15
cmp edx, eax
mov dword [esp + 0x24], eax
jae 0x510854
mov eax, edx
mov dword [esp + 0x24], eax
lea edi, [esp + 0x28]
cmp edi, esi
jne 0x510877
push edx
push eax
lea ecx, [esp + 0x30]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x30]
call fcn.004140f0
jmp 0x510902
cmp eax, ebx
jbe 0x5108c4
cmp eax, ecx
jne 0x5108c4
mov ecx, dword [esi + 4]
cmp ecx, ebx
jne 0x51088b
mov ecx, 0x6dd1f8
cmp byte [ecx - 1], 0xfe
jae 0x5108c4
push 1
lea ecx, [esp + 0x2c]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5108a8
mov eax, 0x6dd1f8
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x30], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x34], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x510902
push 1
push eax
lea ecx, [esp + 0x30]
call fcn.00414230
test al, al
je 0x510902
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x5108e0
mov esi, 0x6dd1f8
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
mov ecx, eax
push eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x2c]
call fcn.00414210
mov eax, dword [esp + 0x3e8]
mov byte [esp + 0x590], 7
cmp eax, ebx
je 0x51094a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x510941
cmp al, 0xff
je 0x510941
dec al
mov byte [ecx], al
mov dword [esp + 0x3e8], ebx
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x3f0], ebx
jmp case.0x50ffd3.198
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x3e8], ebx
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x3f0], ebx
jmp case.0x50ffd3.198
cmp byte [0x72bd0c], bl
jne 0x5109a7
and esi, 0xff
sub esp, 0x24
mov eax, esi
mov ecx, esp
mov dword [esp + 0x30], esp
push ebx
lea eax, [eax + eax*2]
push 1
lea edx, [eax + eax*4]
lea eax, [esp + edx*2 + 0x1ba]
push eax
push ecx
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
cmp esi, edi
mov byte [esp + 0x590], 6
je 0x5109cd
mov ecx, esi
call fcn.0061d8c0
add esi, 4
cmp esi, edi
jne 0x5109bb
mov esi, dword [esp + 0x3c]
push esi
call fcn.006a64d0
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
je 0x510a07
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5109fe
cmp al, 0xff
je 0x5109fe
dec al
mov byte [ecx], al
jmp 0x510a07
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov byte [esp + 0x590], 4
call fcn.0061d8c0
lea ecx, [esp + 0x3f4]
mov byte [esp + 0x590], 3
call fcn.0054f030
lea ecx, [esp + 0x160]
mov byte [esp + 0x590], 2
call fcn.0054f030
lea ecx, [esp + 0x80]
mov byte [esp + 0x590], 1
call fcn.0061ab90
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0x510a85
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x510a7c
cmp al, 0xff
je 0x510a7c
dec al
mov byte [ecx], al
jmp 0x510a85
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
jmp 0x5129d5
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
cmp esi, eax
mov edi, esi
mov dword [esp + 0x14], eax
je 0x510aba
mov ecx, esi
call fcn.0061d8c0
mov eax, dword [esp + 0x14]
add esi, 4
cmp esi, eax
jne 0x510aa8
push 0xe
push 0x715814
lea ecx, [esp + 0x3bc]
mov dword [esp + 0x48], edi
call fcn.0061d820
mov ecx, dword [esp + 0x40]
push eax
push 1
push ecx
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x16
call fcn.00414350
lea ecx, [esp + 0x3b4]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0xc
push 0x715804
lea ecx, [esp + 0x3e8]
call fcn.0061d820
mov edx, dword [esp + 0x40]
push eax
push 1
push edx
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x17
call fcn.00414350
lea ecx, [esp + 0x3e0]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0xa
push 0x7157f8
lea ecx, [esp + 0x3e0]
call fcn.0061d820
push eax
mov eax, dword [esp + 0x44]
push 1
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x18
call fcn.00414350
lea ecx, [esp + 0x3d8]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0xa
push 0x7157ec
lea ecx, [esp + 0x3e4]
call fcn.0061d820
mov ecx, dword [esp + 0x40]
push eax
push 1
push ecx
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x19
call fcn.00414350
lea ecx, [esp + 0x3dc]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0xc
push 0x7157dc
lea ecx, [esp + 0x3c4]
call fcn.0061d820
mov edx, dword [esp + 0x40]
push eax
push 1
push edx
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x1a
call fcn.00414350
lea ecx, [esp + 0x3bc]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0xa
push 0x7157d0
lea ecx, [esp + 0x3c8]
call fcn.0061d820
push eax
mov eax, dword [esp + 0x44]
push 1
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x1b
call fcn.00414350
lea ecx, [esp + 0x3c0]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0xc
push 0x7157c0
lea ecx, [esp + 0x3cc]
call fcn.0061d820
mov ecx, dword [esp + 0x40]
push eax
push 1
push ecx
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x1c
call fcn.00414350
lea ecx, [esp + 0x3c4]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0x10
push 0x7157ac
lea ecx, [esp + 0x3d0]
call fcn.0061d820
mov edx, dword [esp + 0x40]
push eax
push 1
push edx
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x1d
call fcn.00414350
lea ecx, [esp + 0x3c8]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0x10
push 0x715798
lea ecx, [esp + 0x3d8]
call fcn.0061d820
push eax
mov eax, dword [esp + 0x44]
push 1
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x1e
call fcn.00414350
lea ecx, [esp + 0x3d0]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0xe
push 0x715788
lea ecx, [esp + 0x3b8]
call fcn.0061d820
mov ecx, dword [esp + 0x40]
push eax
push 1
push ecx
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x1f
call fcn.00414350
lea ecx, [esp + 0x3b0]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0xc
push 0x715778
lea ecx, [esp + 0x3c0]
call fcn.0061d820
mov edx, dword [esp + 0x40]
push eax
push 1
mov byte [esp + 0x598], 0x20
push edx
lea ecx, [esp + 0x44]
call fcn.00414350
lea ecx, [esp + 0x3b8]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 6
push 0x715770
lea ecx, [esp + 0x3d4]
call fcn.0061d820
push eax
mov eax, dword [esp + 0x44]
push 1
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x21
call fcn.00414350
lea ecx, [esp + 0x3cc]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push 0xe
push 0x715760
lea ecx, [esp + 0x3dc]
call fcn.0061d820
mov ecx, dword [esp + 0x40]
push eax
push 1
push ecx
lea ecx, [esp + 0x44]
mov byte [esp + 0x59c], 0x22
call fcn.00414350
lea ecx, [esp + 0x3d4]
mov byte [esp + 0x590], 7
call fcn.0061d8c0
push ebx
push 3
push ecx
lea edx, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0061d790
push ecx
mov byte [esp + 0x5a0], 0x23
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x715758
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
cmp ax, 1
jne 0x512956
push ebx
push 3
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0061d790
push ecx
mov byte [esp + 0x5a0], 0x24
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x715750
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
cmp ax, 1
jne 0x512956
push ebx
push 3
push ecx
lea edx, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0061d790
push ecx
mov byte [esp + 0x5a0], 0x25
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x715748
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
cmp ax, 1
jne 0x512956
push ebx
push 3
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0061d790
push ecx
mov byte [esp + 0x5a0], 0x26
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x715740
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
cmp ax, 1
jne 0x512956
push ebx
push ebx
push ecx
lea edx, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0061d790
push ecx
mov byte [esp + 0x5a0], 0x27
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x714858
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
cmp byte [0x72bd0c], bl
je 0x511097
push ebx
push 1
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0061d790
push ecx
mov byte [esp + 0x5a0], 0x28
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x714878
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
cmp esi, eax
mov byte [esp + 0x590], 6
mov edi, eax
je 0x510fd9
mov ecx, esi
call fcn.0061d8c0
add esi, 4
cmp esi, edi
jne 0x510fc7
mov esi, dword [esp + 0x3c]
push esi
call fcn.006a64d0
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
je 0x511013
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x51100a
cmp al, 0xff
je 0x51100a
dec al
mov byte [ecx], al
jmp 0x511013
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov byte [esp + 0x590], 4
call fcn.0061d8c0
lea ecx, [esp + 0x3f4]
mov byte [esp + 0x590], 3
call fcn.0054f030
lea ecx, [esp + 0x160]
mov byte [esp + 0x590], 2
call fcn.0054f030
lea ecx, [esp + 0x80]
mov byte [esp + 0x590], 1
call fcn.0061ab90
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0x50fddc
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x50fdd3
cmp al, 0xff
je 0x50fdd3
dec al
mov byte [ecx], al
jmp 0x50fddc
mov esi, dword [esp + 0x64]
push ebx
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x20]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
lea ecx, [esp + 0x45c]
call fcn.0061aaa0
push ebx
lea ecx, [esp + 0x20]
mov byte [esp + 0x594], 0x29
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], ebx
call fcn.0061d7b0
push fcn.00419a10
push 0x47da30
push 3
lea ecx, [esp + 0x424]
push 0x10
push ecx
mov byte [esp + 0x5a4], 0x2a
call fcn.006a7199
push 6
push 0x715738
lea ecx, [esp + 0x20]
mov byte [esp + 0x598], 0x2b
call fcn.0061d820
mov byte [esp + 0x590], 0x2c
xor edi, edi
movsx edx, di
push 0xf1
push 1
push edx
lea ecx, [esp + 0x44]
call fcn.00690c60
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0061d790
lea eax, [esp + 0x468]
lea ecx, [esp + 0x16c]
push eax
call fcn.00550cd0
lea ecx, [esp + 0x45c]
call fcn.0061b070
test ax, ax
je 0x511280
push 0x64
call fcn.0041afd0
add esp, 4
inc edi
cmp di, 0xc
jl 0x51112b
movsx ecx, di
push 0xf1
push 0xe
push ecx
lea ecx, [esp + 0x44]
call fcn.00690c60
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0061d790
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x16c]
push edx
call fcn.00550cd0
push ebx
lea ecx, [esp + 0x28]
call fcn.0061d7b0
push 0x72ba88
lea ecx, [esp + 0x41c]
mov byte [esp + 0x594], 0x2e
mov dword [esp + 0x74], ebx
call fcn.004cfae0
push 0x72ba88
lea ecx, [esp + 0x42c]
call fcn.004cfae0
push 0x72ba88
lea ecx, [esp + 0x43c]
call fcn.004cfae0
push ebx
lea eax, [esp + 0xa8]
push 1
lea ecx, [esp + 0x4ec]
push eax
push ecx
lea ecx, [esp + 0x170]
call fcn.00551050
lea ecx, [esp + 0x4e4]
call fcn.0061ab90
push 0x64
call fcn.0041afd0
add esp, 4
lea edx, [esp + 0x24]
push 0xf1
push 0xe
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0061d790
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x16c]
push eax
call fcn.00550cd0
lea ecx, [esp + 0x80]
call fcn.0061b070
test ax, ax
jne 0x5113ca
inc dword [esp + 0x48]
jmp 0x511204
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x2d
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71345c
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 0x2c
call fcn.0061ef70
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
lea ecx, [esp + 0x18]
mov byte [esp + 0x590], 0x2b
call fcn.0061d8c0
push fcn.00419a10
push 3
lea eax, [esp + 0x420]
push 0x10
push eax
mov byte [esp + 0x5a0], 0x2a
call fcn.006a70a5
lea ecx, [esp + 0x1c]
mov byte [esp + 0x590], 0x29
call fcn.0061d8c0
lea ecx, [esp + 0x45c]
mov byte [esp + 0x590], 7
call fcn.0061ab90
lea ecx, [esp + 0x38]
mov byte [esp + 0x590], 6
call fcn.00413420
lea ecx, [esp + 0x28]
mov byte [esp + 0x590], 5
call fcn.00419a10
lea ecx, [esp + 0x10]
mov byte [esp + 0x590], 4
call fcn.0061d8c0
lea ecx, [esp + 0x3f4]
mov byte [esp + 0x590], 3
call fcn.0054f030
lea ecx, [esp + 0x160]
mov byte [esp + 0x590], 2
call fcn.0054f030
lea ecx, [esp + 0x80]
mov byte [esp + 0x590], 1
call fcn.0061ab90
lea ecx, [esp + 0x50]
mov byte [esp + 0x590], bl
call fcn.0066b860
lea ecx, [ebp + 8]
mov dword [esp + 0x590], 0xffffffff
call fcn.0061d8c0
xor ax, ax
mov ecx, dword [esp + 0x588]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ebx
lea ecx, [esp + 0x84]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
call fcn.0061b060
mov ecx, eax
call fcn.00647dd0
test eax, eax
jbe 0x511462
mov ecx, dword [esp + 0x64]
xor edi, edi
lea esi, [ecx + 8]
push edi
push ebx
lea ecx, [esp + 0x88]
call fcn.0061b060
mov ecx, eax
call fcn.00690c60
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0061d790
mov ecx, esi
call fcn.0061dab0
push ebx
mov ecx, esi
call fcn.0061daa0
cmp al, 0xf3
jne 0x51143e
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push esi
call fcn.0061d790
lea ecx, [esp + 0x20]
call fcn.0061dab0
mov eax, dword [esp + 0x4c]
push ebx
inc eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x50], eax
movsx edi, ax
call fcn.0061b060
mov ecx, eax
call fcn.00647dd0
cmp edi, eax
jb 0x5113f3
push ebx
lea ecx, [esp + 0x84]
mov dword [esp + 0x50], ebx
call fcn.0061b060
mov ecx, eax
call fcn.00647dd0
test eax, eax
jbe 0x51172a
mov edx, dword [esp + 0x64]
xor edi, edi
lea esi, [edx + 8]
push edi
push ebx
lea ecx, [esp + 0x88]
call fcn.0061b060
mov ecx, eax
call fcn.00690c60
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0061d790
mov ecx, esi
call fcn.0061dab0
mov ecx, esi
call fcn.0061dc40
cmp ax, 7
jle 0x5116fe
push ebx
mov ecx, esi
call fcn.0061daa0
cmp al, 0xf3
jne 0x511501
cmp dword [esp + 0xac], ebx
jne 0x511501
push 3
mov ecx, esi
call fcn.0061daa0
test al, 0x80
je 0x5114f6
push 0x15
push 5
lea ecx, [esp + 0x20]
call fcn.0061dbc0
jmp 0x511501
mov dword [esp + 0xac], 1
push ebx
mov ecx, esi
call fcn.0061daa0
cmp al, 0xfe
jne 0x5115ac
push 1
mov ecx, esi
call fcn.0061daa0
mov dl, al
push 2
and edx, 0xff
mov ecx, esi
shl edx, 8
mov dword [esp + 0x70], edx
call fcn.0061daa0
mov ecx, dword [esp + 0x6c]
and eax, 0xff
add eax, ecx
cmp eax, 0x4b0
mov dword [esp + 0xc], eax
jge 0x51155b
push 0x16
push 5
lea ecx, [esp + 0x20]
mov dword [esp + 0x74], ebx
call fcn.0061dbc0
jmp 0x511563
mov dword [esp + 0x6c], 1
fild dword [esp + 0xc]
sub esp, 8
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x510]
fmul dword [0x6ddbc4]
lea edx, [esp + 0x510]
rep stosd dword es:[edi], eax
fstp qword [esp]
push str._5.0f
push edx
call fcn.006a6fa5
add esp, 0x10
lea eax, [esp + 0x508]
lea ecx, [esp + 0x418]
push eax
call fcn.004cfae0
push ebx
mov ecx, esi
call fcn.0061daa0
cmp al, 0xf5
jne 0x511677
push 7
mov ecx, esi
call fcn.0061daa0
test al, 0x80
je 0x511623
push 0x17
push 5
lea ecx, [esp + 0x20]
mov dword [esp + 0x70], ebx
call fcn.0061dbc0
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 6
push 0x7153ec
call fcn.0061d820
lea ecx, [esp + 0x4b4]
push ecx
call fcn.0061ca80
add esp, 8
push eax
lea ecx, [esp + 0x42c]
mov byte [esp + 0x594], 0x30
call fcn.00452520
mov byte [esp + 0x590], 0x2e
lea ecx, [esp + 0x4b0]
jmp 0x511672
push ecx
mov dword [esp + 0x6c], 1
mov ecx, esp
mov dword [esp + 0x10], esp
push 6
push 0x7153e4
call fcn.0061d820
lea edx, [esp + 0x4a4]
push edx
call fcn.0061ca80
add esp, 8
push eax
lea ecx, [esp + 0x42c]
mov byte [esp + 0x594], 0x31
call fcn.00452520
mov byte [esp + 0x590], 0x2e
lea ecx, [esp + 0x4a0]
call fcn.00419a10
push ebx
mov ecx, esi
call fcn.0061daa0
cmp al, 0xfa
jne 0x511702
push 3
mov ecx, esi
call fcn.0061daa0
cmp al, 0x6e
jae 0x5116a6
push 0x18
push 5
lea ecx, [esp + 0x20]
mov dword [esp + 0xb0], ebx
call fcn.0061dbc0
jmp 0x5116b1
mov dword [esp + 0xa8], 1
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x508]
push 3
rep stosd dword es:[edi], eax
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x28
push eax
lea eax, [esp + 0x50c]
push 0x71350c
push eax
call fcn.006a6fa5
add esp, 0xc
lea ecx, [esp + 0x508]
push ecx
lea ecx, [esp + 0x43c]
call fcn.004cfae0
jmp 0x511702
inc dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
push ebx
inc eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x50], eax
movsx edi, ax
call fcn.0061b060
mov ecx, eax
call fcn.00647dd0
cmp edi, eax
jb 0x51148b
push ecx
lea edx, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
sub esp, 0x10
lea eax, [esp + 0x428]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00413060
push ecx
mov byte [esp + 0x5a4], 0x32
mov ecx, esp
mov dword [esp + 0x60], esp
push 6
push 0x715730
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x5a4], 0x2e
call fcn.0062e450
sub esp, 0x10
lea edx, [esp + 0x438]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00413060
push ecx
mov byte [esp + 0x5a4], 0x33
mov ecx, esp
mov dword [esp + 0x60], esp
push 6
push 0x715728
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x5a4], 0x2e
call fcn.0062e450
sub esp, 0x10
lea eax, [esp + 0x448]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00413060
push ecx
mov byte [esp + 0x5a4], 0x34
mov ecx, esp
mov dword [esp + 0x60], esp
push 6
push 0x715720
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x5a4], 0x2e
call fcn.0062e450
sub esp, 0x10
lea edx, [esp + 0x396]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
push 0x72ba88
call fcn.00413180
push ecx
mov byte [esp + 0x5a4], 0x35
mov ecx, esp
mov dword [esp + 0x60], esp
lea eax, [esp + 0x2c]
push eax
call fcn.0061d790
mov ecx, dword [0x72baec]
mov byte [esp + 0x5a4], 0x2e
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
test ax, ax
je 0x511ac3
push ebx
lea ecx, [esp + 0x158]
push 1
lea edx, [esp + 0x4c8]
push ecx
push edx
lea ecx, [esp + 0x404]
call fcn.00551050
lea ecx, [esp + 0x4c0]
call fcn.0061ab90
cmp dword [esp + 0x6c], ebx
je 0x511960
cmp dword [esp + 0x68], ebx
je 0x511960
cmp dword [esp + 0xac], ebx
je 0x511960
cmp dword [esp + 0xa8], ebx
je 0x511960
cmp dword [esp + 0x14], ebx
jne 0x51191c
sub esp, 0x24
lea ecx, [esp + 0x3ac]
mov eax, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0x480]
call fcn.0061ac40
mov dword [esp + 0x14], 1
push 3
lea ecx, [esp + 0x20]
call fcn.0061daa0
cmp al, 0x40
jae 0x511938
mov edx, dword [esp + 0x70]
push 0x11
inc edx
mov dword [esp + 0x74], edx
jmp 0x51194d
push 3
lea ecx, [esp + 0x20]
call fcn.0061daa0
cmp al, 0x80
jae 0x51194b
push 0x12
jmp 0x51194d
push 0x13
push 5
lea ecx, [esp + 0x20]
call fcn.0061dbc0
cmp word [esp + 0x70], 0x78
jg 0x511969
inc dword [esp + 0x70]
jmp 0x511204
push ebx
push 1
push ecx
lea edx, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0061d790
push ecx
mov byte [esp + 0x5a0], 0x36
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x715718
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 0x2e
call fcn.0061ef70
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx]
call dword [eax + 0x1c]
lea ecx, [esp + 0x24]
mov byte [esp + 0x590], 0x2c
call fcn.0061d8c0
lea ecx, [esp + 0x18]
mov byte [esp + 0x590], 0x2b
call fcn.0061d8c0
push fcn.00419a10
push 3
lea ecx, [esp + 0x420]
push 0x10
push ecx
mov byte [esp + 0x5a0], 0x2a
call fcn.006a70a5
lea ecx, [esp + 0x1c]
mov byte [esp + 0x590], 0x29
call fcn.0061d8c0
lea ecx, [esp + 0x45c]
mov byte [esp + 0x590], 7
call fcn.0061ab90
lea ecx, [esp + 0x38]
mov byte [esp + 0x590], 6
call fcn.00413420
lea ecx, [esp + 0x28]
mov byte [esp + 0x590], 5
call fcn.00419a10
lea ecx, [esp + 0x10]
mov byte [esp + 0x590], 4
call fcn.0061d8c0
lea ecx, [esp + 0x3f4]
mov byte [esp + 0x590], 3
call fcn.0054f030
lea ecx, [esp + 0x160]
mov byte [esp + 0x590], 2
call fcn.0054f030
lea ecx, [esp + 0x80]
mov byte [esp + 0x590], 1
call fcn.0061ab90
lea ecx, [esp + 0x50]
mov byte [esp + 0x590], bl
call fcn.0066b860
lea ecx, [ebp + 8]
mov dword [esp + 0x590], 0xffffffff
call fcn.0061d8c0
xor ax, ax
mov ecx, dword [esp + 0x588]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
sub esp, 0x24
lea eax, [esp + 0x3b6]
mov edx, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push eax
push edx
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0x480]
call fcn.0061ac40
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx]
call dword [edx + 0x1c]
lea ecx, [esp + 0x24]
mov byte [esp + 0x590], 0x2c
call fcn.0061d8c0
lea ecx, [esp + 0x18]
mov byte [esp + 0x590], 0x2b
call fcn.0061d8c0
push fcn.00419a10
push 3
lea eax, [esp + 0x420]
push 0x10
push eax
mov byte [esp + 0x5a0], 0x2a
call fcn.006a70a5
lea ecx, [esp + 0x1c]
mov byte [esp + 0x590], 0x29
call fcn.0061d8c0
lea ecx, [esp + 0x45c]
mov byte [esp + 0x590], 7
call fcn.0061ab90
jmp 0x512956
push ebx
push 1
push ecx
mov byte [esp + 0x24], bl
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x37
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71dae0
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
cmp byte [0x72bd0c], bl
jne 0x511bdf
sub esp, 0x24
lea edx, [esp + 0xec]
mov ecx, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push edx
push ecx
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
mov byte [esp + 0x23], bl
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713794
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x71378c
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
sub esp, 0x10
lea edx, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00413060
push ecx
mov byte [esp + 0x5a4], 0x38
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x5a4], 7
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x511d91
dec eax
je 0x511cc4
dec eax
je 0x511e5e
jmp 0x511be3
mov al, byte [esp + 0x23]
cmp al, bl
jbe 0x511be3
mov dl, byte [esp + 0x18]
add al, 0xe7
mov byte [esp + 0x23], al
mov byte [esp + 0xd9], al
mov al, byte [0x72bd0c]
add dl, 0xfb
cmp al, bl
mov byte [esp + 0x18], dl
je 0x511d06
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x511d47
sub esp, 0x24
lea ecx, [esp + 0xf6]
mov eax, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x84]
mov edx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
test ax, ax
je 0x511be3
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x74]
and eax, 0xff
push eax
push 0x71dad8
push ecx
call fcn.006a6fa5
add esp, 0xc
lea edx, [esp + 0x74]
lea ecx, [esp + 0x28]
push edx
call fcn.004cfae0
jmp 0x511be3
mov al, byte [esp + 0x23]
cmp al, 0xc8
jae 0x511be3
mov dl, byte [esp + 0x18]
add al, 0x19
mov byte [esp + 0x23], al
mov byte [esp + 0xd9], al
mov al, byte [0x72bd0c]
add dl, 5
cmp al, bl
mov byte [esp + 0x18], dl
je 0x511dd3
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x511e14
sub esp, 0x24
lea ecx, [esp + 0xf6]
mov eax, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x84]
mov edx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
test ax, ax
je 0x511be3
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x74]
and eax, 0xff
push eax
push 0x71dad8
push ecx
call fcn.006a6fa5
add esp, 0xc
lea edx, [esp + 0x74]
lea ecx, [esp + 0x28]
push edx
call fcn.004cfae0
jmp 0x511be3
cmp byte [0x72bd0c], bl
jne 0x512956
sub esp, 0x24
lea ecx, [esp + 0x100]
mov eax, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
sub esp, 0x24
lea eax, [esp + 0x10a]
mov edx, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push eax
push edx
jmp 0x51293e
push ebx
push 1
push ecx
mov byte [esp + 0x24], bl
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x39
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x7137e4
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
push ecx
lea edx, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713794
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x71378c
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
sub esp, 0x10
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00413060
push ecx
mov byte [esp + 0x5a4], 0x3a
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x5a4], 7
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x5120a5
dec eax
je 0x511fd9
dec eax
je 0x512171
jmp 0x511ef8
mov al, byte [esp + 0x18]
cmp al, bl
jbe 0x511ef8
mov dl, al
mov al, byte [0x72bd0c]
dec dl
mov byte [esp + 0x18], dl
mov esi, dword [esp + 0x18]
and esi, 0xff
cmp al, bl
mov cl, byte [esp + esi + 0xb0]
mov byte [esp + 0xf6], cl
je 0x512023
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x512064
sub esp, 0x24
lea eax, [esp + 0x114]
mov edx, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push eax
push edx
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push ecx
lea ecx, [esp + 0x88]
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
test ax, ax
je 0x511ef8
push esi
lea edx, [esp + 0x78]
push 0x71dad8
push edx
call fcn.006a6fa5
add esp, 0xc
lea eax, [esp + 0x74]
lea ecx, [esp + 0x28]
push eax
call fcn.004cfae0
jmp 0x511ef8
mov al, byte [esp + 0x18]
cmp al, 0xa
jae 0x511ef8
mov dl, al
mov al, byte [0x72bd0c]
inc dl
mov byte [esp + 0x18], dl
mov esi, dword [esp + 0x18]
and esi, 0xff
cmp al, bl
mov cl, byte [esp + esi + 0xb0]
mov byte [esp + 0xf6], cl
je 0x5120ef
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x512130
sub esp, 0x24
lea eax, [esp + 0x114]
mov edx, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push eax
push edx
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push ecx
lea ecx, [esp + 0x88]
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
test ax, ax
je 0x511ef8
push esi
lea edx, [esp + 0x78]
push 0x71dad8
push edx
call fcn.006a6fa5
add esp, 0xc
lea eax, [esp + 0x74]
lea ecx, [esp + 0x28]
push eax
call fcn.004cfae0
jmp 0x511ef8
cmp byte [0x72bd0c], bl
jne 0x512956
sub esp, 0x24
lea edx, [esp + 0x11e]
mov ecx, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push edx
jmp 0x51293d
add eax, 0xffffff32
cmp eax, 0xe
ja case.0x5121ac.210
xor ecx, ecx
mov cl, byte [eax + 0x512ab4]
jmp dword [ecx*4 + 0x512aa0]
mov byte [esp + 0x1c], 6
mov byte [esp + 0x48], 7
jmp case.0x5121ac.210
push ebx
push 1
push ecx
mov byte [esp + 0x28], 8
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
mov byte [esp + 0x5c], 5
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x3b
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x7137e4
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
jmp case.0x5121ac.210
push ebx
push 1
push ecx
mov byte [esp + 0x28], 0xa
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
mov byte [esp + 0x5c], 7
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x3c
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x7137e4
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
jmp case.0x5121ac.210
mov byte [esp + 0x1c], 0xc
mov byte [esp + 0x48], 5
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x18], bl
push ecx
lea edx, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713794
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x71378c
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
sub esp, 0x10
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00413060
push ecx
mov byte [esp + 0x5a4], 0x3d
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x5a4], 7
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x512446
dec eax
je 0x512353
dec eax
je 0x512539
jmp 0x512272
mov al, byte [esp + 0x18]
cmp al, bl
jbe 0x512272
add al, 0xf6
mov byte [esp + 0x18], al
mov esi, dword [esp + 0x18]
mov eax, edi
and esi, 0xff
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x66666667
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x48]
and eax, 0xff
mov dl, byte [esp + edx + 0xbc]
shl ecx, 1
lea eax, [esp + eax + 0xc8]
mov byte [eax + ecx], dl
mov al, byte [0x72bd0c]
cmp al, bl
je 0x5123c4
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x512405
sub esp, 0x24
lea ecx, [esp + ecx + 0xec]
mov eax, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x84]
mov edx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
test ax, ax
je 0x512272
push esi
lea eax, [esp + 0x78]
push str._d___
push eax
call fcn.006a6fa5
add esp, 0xc
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x2c]
call fcn.004cfae0
jmp 0x512272
mov al, byte [esp + 0x18]
cmp al, 0x64
jae 0x512272
add al, 0xa
mov byte [esp + 0x18], al
mov esi, dword [esp + 0x18]
mov eax, edi
and esi, 0xff
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x66666667
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x48]
and eax, 0xff
mov dl, byte [esp + edx + 0xbc]
shl ecx, 1
lea eax, [esp + eax + 0xc8]
mov byte [eax + ecx], dl
mov al, byte [0x72bd0c]
cmp al, bl
je 0x5124b7
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x5124f8
sub esp, 0x24
lea ecx, [esp + ecx + 0xec]
mov eax, esp
mov dword [esp + 0x30], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x84]
mov edx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
test ax, ax
je 0x512272
push esi
lea eax, [esp + 0x78]
push str._d___
push eax
call fcn.006a6fa5
add esp, 0xc
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x2c]
call fcn.004cfae0
jmp 0x512272
cmp byte [0x72bd0c], bl
jne 0x512956
sub esp, 0x24
and edi, 0xff
mov edx, esp
mov dword [esp + 0x30], esp
lea eax, [edi + edi*4]
push ebx
push 1
lea ecx, [esp + eax*2 + 0xfe]
push ecx
push edx
jmp 0x51293e
add eax, 0xffffff41
cmp eax, 0x18
ja case.0x51257e.196
xor edx, edx
mov dl, byte [eax + 0x512adc]
jmp dword [edx*4 + 0x512ac4]
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x3e
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71dac8
jmp 0x51266f
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x3f
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x7137e4
jmp 0x51266f
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x40
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71dae0
jmp 0x51266f
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x41
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x7137dc
jmp 0x51266f
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713420
call fcn.0061d820
push ecx
mov byte [esp + 0x5a0], 0x42
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x7142bc
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x5a0], 7
call fcn.0061ef70
mov esi, dword [esp + 0x1c]
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713784
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x71377c
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
sub esp, 0x10
lea edx, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00413060
push ecx
mov byte [esp + 0x5a4], 0x43
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x5a4], 7
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x51283f
dec eax
je 0x51276b
dec eax
je 0x512913
jmp 0x51268a
cmp byte [0x72bd0c], bl
je 0x512788
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x5127d6
mov eax, esi
sub esp, 0x24
and eax, 0xff
mov ecx, esp
mov dword [esp + 0x30], esp
push ebx
lea eax, [eax + eax*2]
push 1
lea edx, [eax + eax*4]
lea eax, [esp + edx*2 + 0x1ba]
push eax
push ecx
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push ecx
lea ecx, [esp + 0x88]
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
test ax, ax
je 0x51268a
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 6
push 0x71377c
call fcn.0061d820
lea edx, [esp + 0x484]
push edx
call fcn.0061ca80
add esp, 8
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x594], 0x45
call fcn.00452520
lea ecx, [esp + 0x480]
mov byte [esp + 0x590], 7
call fcn.00419a10
jmp 0x51268a
cmp byte [0x72bd0c], bl
je 0x51285c
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x5128aa
mov eax, esi
sub esp, 0x24
and eax, 0xff
mov ecx, esp
mov dword [esp + 0x30], esp
push ebx
lea eax, [eax + eax*2]
push 1
lea edx, [eax + eax*4]
lea eax, [esp + edx*2 + 0x1b0]
push eax
push ecx
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push ecx
lea ecx, [esp + 0x88]
call fcn.0061afb0
lea ecx, [esp + 0x14]
call fcn.0061dab0
lea ecx, [esp + 0x10]
call fcn.0061dc40
test ax, ax
je 0x51268a
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 6
push 0x713784
call fcn.0061d820
lea edx, [esp + 0x494]
push edx
call fcn.0061ca80
add esp, 8
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x594], 0x44
call fcn.00452520
lea ecx, [esp + 0x490]
mov byte [esp + 0x590], 7
call fcn.00419a10
jmp 0x51268a
cmp byte [0x72bd0c], bl
jne 0x512956
sub esp, 0x24
and esi, 0xff
mov eax, esi
mov ecx, esp
mov dword [esp + 0x30], esp
push ebx
lea eax, [eax + eax*2]
push 1
lea edx, [eax + eax*4]
lea eax, [esp + edx*2 + 0x1c4]
push eax
push ecx
lea ecx, [esp + 0x194]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
lea ecx, [esp + 0x38]
mov byte [esp + 0x590], 6
call fcn.00413420
lea ecx, [esp + 0x28]
mov byte [esp + 0x590], 5
call fcn.00419a10
lea ecx, [esp + 0x10]
mov byte [esp + 0x590], 4
call fcn.0061d8c0
lea ecx, [esp + 0x3f4]
mov byte [esp + 0x590], 3
call fcn.0054f030
lea ecx, [esp + 0x160]
mov byte [esp + 0x590], 2
call fcn.0054f030
lea ecx, [esp + 0x80]
mov byte [esp + 0x590], 1
call fcn.0061ab90
lea ecx, [esp + 0x50]
mov byte [esp + 0x590], bl
call fcn.0066b860
lea ecx, [ebp + 8]
mov dword [esp + 0x590], 0xffffffff
call fcn.0061d8c0
mov ecx, dword [esp + 0x588]
pop edi
pop esi
mov ax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4