Function at 0x403490
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x40de9e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x450
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x470]
xor ebx, ebx
mov dword [esp + 0x468], ebx
mov dword [esp + 0x28], ebx
mov esi, dword [eax - 8]
push esi
push 2
mov dword [esp + 0x2c], esi
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebp, eax
cmp ebp, ebx
mov dword [esp + 0x444], ebp
je 0x404de7
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, esi
mov esi, dword [esp + 0x470]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea eax, [esp + 0x438]
push eax
push 1
push ebp
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
test eax, eax
jne 0x404de0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x438]
lea ecx, [esp + 0x434]
push ecx
push 0x40f854
push ebx
push edx
push eax
call dword [sym.imp.OLEPRO32.DLL_OleLoadPicture]
test eax, eax
jne 0x404dd3
mov eax, dword [esp + 0x434]
lea edx, [esp + 0x43c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov ecx, dword [esp + 0x43c]
lea eax, [esp + 0x448]
push eax
push 0x18
push ecx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], 0x40f7d8
mov edx, dword [esp + 0x43c]
lea ecx, [esp + 0x3c]
push edx
mov byte [esp + 0x46c], 1
call sub.MFC42.DLL_CGdiObject::Attach
mov esi, dword [esp + 0x45a]
mov edi, 7
and esi, 0xffff
imul esi, dword [esp + 0x450]
imul esi, dword [esp + 0x44c]
add esi, edi
sar esi, 3
push esi
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x34], eax
push eax
mov eax, dword [esp + 0x44]
push esi
push eax
call dword [sym.imp.GDI32.dll_GetBitmapBits]
mov ebp, 6
mov eax, 0xa
mov cl, 0x3c
mov dl, 0xcf
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], eax
mov byte [esp + 0x4c], 0xde
mov byte [esp + 0x4d], cl
mov byte [esp + 0x4e], dl
mov byte [esp + 0x4f], 0xf3
mov byte [esp + 0x50], cl
mov byte [esp + 0x51], dl
mov byte [esp + 0x52], 0xb3
mov byte [esp + 0x53], 7
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], bl
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], bl
mov byte [esp + 0x5a], bl
mov byte [esp + 0x5b], bl
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], 0x30
mov dword [esp + 0x60], 4
mov dword [esp + 0x64], eax
mov byte [esp + 0x68], 0xec
mov byte [esp + 0x69], 0xdf
mov byte [esp + 0x6a], 0xcc
mov byte [esp + 0x6b], 0xcc
mov byte [esp + 0x6c], 0xcc
mov byte [esp + 0x6d], bl
mov byte [esp + 0x6e], bl
mov byte [esp + 0x6f], bl
mov byte [esp + 0x70], bl
mov byte [esp + 0x71], bl
mov byte [esp + 0x72], bl
mov byte [esp + 0x73], bl
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], bl
mov byte [esp + 0x76], bl
mov byte [esp + 0x77], bl
mov byte [esp + 0x78], bl
mov byte [esp + 0x79], bl
mov byte [esp + 0x7a], 0x31
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], eax
mov byte [esp + 0x84], 0xde
mov byte [esp + 0x85], 0xc
mov byte [esp + 0x86], 0xc3
mov byte [esp + 0x87], 0x18
mov byte [esp + 0x88], 0xc7
mov byte [esp + 0x89], 0x18
mov byte [esp + 0x8a], 0xc3
mov byte [esp + 0x8b], 0xf
mov byte [esp + 0x8c], bl
mov byte [esp + 0x8d], bl
mov byte [esp + 0x8e], bl
mov byte [esp + 0x8f], bl
mov byte [esp + 0x90], bl
mov byte [esp + 0x91], bl
mov byte [esp + 0x92], bl
mov byte [esp + 0x93], bl
mov byte [esp + 0x94], bl
mov byte [esp + 0x95], bl
mov byte [esp + 0x96], 0x32
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], eax
mov byte [esp + 0xa0], 0xde
mov byte [esp + 0xa1], cl
mov byte [esp + 0xa2], dl
mov byte [esp + 0xa3], 0xde
mov byte [esp + 0xa4], cl
mov byte [esp + 0xa5], dl
mov byte [esp + 0xa6], 0xb3
mov byte [esp + 0xa7], 7
mov byte [esp + 0xa8], bl
mov byte [esp + 0xa9], bl
mov byte [esp + 0xaa], bl
mov byte [esp + 0xab], bl
mov byte [esp + 0xac], bl
mov byte [esp + 0xad], bl
mov byte [esp + 0xae], bl
mov byte [esp + 0xaf], bl
mov byte [esp + 0xb0], bl
mov byte [esp + 0xb1], bl
mov byte [esp + 0xb2], 0x38
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 0xde
mov byte [esp + 0xbd], 0xc
mov byte [esp + 0xbe], 0xc3
mov byte [esp + 0xbf], 0x1c
mov byte [esp + 0xc0], 0xc
mov byte [esp + 0xc1], 0xc3
mov byte [esp + 0xc2], 0xb3
mov byte [esp + 0xc3], 7
mov byte [esp + 0xc4], bl
mov byte [esp + 0xc5], bl
mov byte [esp + 0xc6], bl
mov byte [esp + 0xc7], bl
mov byte [esp + 0xc8], bl
mov byte [esp + 0xc9], bl
mov byte [esp + 0xca], bl
mov byte [esp + 0xcb], bl
mov byte [esp + 0xcc], bl
mov byte [esp + 0xcd], bl
mov byte [esp + 0xce], 0x33
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xd4], eax
mov byte [esp + 0xd8], 0x18
mov byte [esp + 0xd9], 0xc6
mov byte [esp + 0xda], 0x71
mov byte [esp + 0xdb], 0x9a
mov byte [esp + 0xdc], 0x96
mov byte [esp + 0xdd], 0xfd
mov byte [esp + 0xde], 0x18
mov byte [esp + 0xdf], 6
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], bl
mov byte [esp + 0xe7], bl
mov byte [esp + 0xe8], bl
mov byte [esp + 0xe9], bl
mov byte [esp + 0xea], 0x34
mov dword [esp + 0xec], ebp
mov dword [esp + 0xf0], eax
mov byte [esp + 0xf4], 0xbe
mov byte [esp + 0xf5], 0x31
mov byte [esp + 0xf6], 0x7c
mov byte [esp + 0xf7], 0x33
mov byte [esp + 0xf8], 0xc
mov byte [esp + 0xf9], 0xc3
mov byte [esp + 0xfa], 0xb3
mov byte [esp + 0xfb], 7
mov byte [esp + 0xfc], bl
mov byte [esp + 0xfd], bl
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], bl
mov byte [esp + 0x105], bl
mov byte [esp + 0x106], 0x35
mov dword [esp + 0x108], ebp
mov dword [esp + 0x10c], eax
mov byte [esp + 0x110], 0x9c
mov byte [esp + 0x111], cl
mov byte [esp + 0x112], 0xc
mov byte [esp + 0x113], 0xdf
mov byte [esp + 0x114], cl
mov byte [esp + 0x115], dl
mov byte [esp + 0x116], 0xb3
mov byte [esp + 0x117], 7
mov byte [esp + 0x118], bl
mov byte [esp + 0x119], bl
mov byte [esp + 0x11a], bl
mov byte [esp + 0x11b], bl
mov byte [esp + 0x11c], bl
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], 0x36
mov dword [esp + 0x124], ebp
mov dword [esp + 0x128], eax
mov byte [esp + 0x12c], 0x3f
mov byte [esp + 0x12d], 0x8c
mov byte [esp + 0x12e], 0x61
mov byte [esp + 0x12f], 0xc
mov byte [esp + 0x130], 0xc3
mov byte [esp + 0x131], 0x18
mov byte [esp + 0x132], 0x86
mov byte [esp + 0x133], 1
mov byte [esp + 0x134], bl
mov byte [esp + 0x135], bl
mov byte [esp + 0x136], bl
mov byte [esp + 0x137], bl
mov byte [esp + 0x138], bl
mov byte [esp + 0x139], bl
mov byte [esp + 0x13a], bl
mov byte [esp + 0x13b], bl
mov byte [esp + 0x13c], bl
mov byte [esp + 0x13d], bl
mov byte [esp + 0x13e], 0x37
mov dword [esp + 0x140], ebp
mov dword [esp + 0x144], eax
mov byte [esp + 0x148], 0xde
mov byte [esp + 0x149], cl
mov byte [esp + 0x14a], dl
mov byte [esp + 0x14b], 0xb3
mov byte [esp + 0x14c], 0xf
mov byte [esp + 0x14d], 0xc3
mov byte [esp + 0x14e], 0x93
mov byte [esp + 0x14f], 3
mov byte [esp + 0x150], bl
mov byte [esp + 0x151], bl
mov byte [esp + 0x152], bl
mov byte [esp + 0x153], bl
mov byte [esp + 0x154], bl
mov byte [esp + 0x155], bl
mov byte [esp + 0x156], bl
mov byte [esp + 0x157], bl
mov byte [esp + 0x158], bl
mov byte [esp + 0x159], bl
mov byte [esp + 0x15a], 0x39
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x160], edi
mov byte [esp + 0x164], bl
mov byte [esp + 0x165], bl
mov byte [esp + 0x166], 0x78
mov byte [esp + 0x167], 0x31
mov byte [esp + 0x168], 0x6f
mov byte [esp + 0x169], dl
mov byte [esp + 0x16a], 0xb3
mov byte [esp + 0x16b], 0xf
mov byte [esp + 0x16c], bl
mov byte [esp + 0x16d], bl
mov byte [esp + 0x16e], bl
mov byte [esp + 0x16f], bl
mov byte [esp + 0x170], bl
mov byte [esp + 0x171], bl
mov byte [esp + 0x172], bl
mov byte [esp + 0x173], bl
mov byte [esp + 0x174], bl
mov byte [esp + 0x175], bl
mov byte [esp + 0x176], 0x61
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], eax
mov byte [esp + 0x180], 0xc3
mov byte [esp + 0x181], 0x30
mov byte [esp + 0x182], 0x6c
mov byte [esp + 0x183], 0xf7
mov byte [esp + 0x184], cl
mov byte [esp + 0x185], dl
mov byte [esp + 0x186], 0xf7
mov byte [esp + 0x187], 6
mov byte [esp + 0x188], bl
mov byte [esp + 0x189], bl
mov byte [esp + 0x18a], bl
mov byte [esp + 0x18b], bl
mov byte [esp + 0x18c], bl
mov byte [esp + 0x18d], bl
mov byte [esp + 0x18e], bl
mov byte [esp + 0x18f], bl
mov byte [esp + 0x190], bl
mov byte [esp + 0x191], bl
mov byte [esp + 0x192], 0x62
mov dword [esp + 0x194], ebp
mov dword [esp + 0x198], edi
mov byte [esp + 0x19c], bl
mov byte [esp + 0x19d], bl
mov byte [esp + 0x19e], 0x78
mov byte [esp + 0x19f], 0xf3
mov byte [esp + 0x1a0], 0xfc
mov byte [esp + 0x1a1], 0xf
mov byte [esp + 0x1a2], 0xb3
mov byte [esp + 0x1a3], 7
mov byte [esp + 0x1a4], bl
mov byte [esp + 0x1a5], bl
mov byte [esp + 0x1a6], bl
mov byte [esp + 0x1a7], bl
mov byte [esp + 0x1a8], bl
mov byte [esp + 0x1a9], bl
mov byte [esp + 0x1aa], bl
mov byte [esp + 0x1ab], bl
mov byte [esp + 0x1ac], bl
mov byte [esp + 0x1ad], bl
mov byte [esp + 0x1ae], 0x65
mov dword [esp + 0x1b0], ebp
mov dword [esp + 0x1b4], edi
mov byte [esp + 0x1b8], bl
mov byte [esp + 0x1b9], bl
mov byte [esp + 0x1ba], 0x78
mov byte [esp + 0x1bb], 0xf3
mov byte [esp + 0x1bc], cl
mov byte [esp + 0x1bd], dl
mov byte [esp + 0x1be], 0xb3
mov byte [esp + 0x1bf], 7
mov byte [esp + 0x1c0], bl
mov esi, 5
mov byte [esp + 0x1c1], bl
mov byte [esp + 0x1c2], bl
mov byte [esp + 0x1c3], bl
mov byte [esp + 0x1c4], bl
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], 0x6f
mov dword [esp + 0x1cc], ebp
mov dword [esp + 0x1d0], edi
mov byte [esp + 0x1d4], bl
mov byte [esp + 0x1d5], bl
mov byte [esp + 0x1d6], 0x78
mov byte [esp + 0x1d7], 0xf3
mov byte [esp + 0x1d8], 0x30
mov byte [esp + 0x1d9], 0xc
mov byte [esp + 0x1da], 0xb3
mov byte [esp + 0x1db], 7
mov byte [esp + 0x1dc], bl
mov byte [esp + 0x1dd], bl
mov byte [esp + 0x1de], bl
mov byte [esp + 0x1df], bl
mov byte [esp + 0x1e0], bl
mov byte [esp + 0x1e1], bl
mov byte [esp + 0x1e2], bl
mov byte [esp + 0x1e3], bl
mov byte [esp + 0x1e4], bl
mov byte [esp + 0x1e5], bl
mov byte [esp + 0x1e6], 0x63
mov dword [esp + 0x1e8], ebp
mov dword [esp + 0x1ec], eax
mov byte [esp + 0x1f0], 0x30
mov byte [esp + 0x1f1], 0xc
mov byte [esp + 0x1f2], 0xdb
mov byte [esp + 0x1f3], 0xfb
mov byte [esp + 0x1f4], cl
mov byte [esp + 0x1f5], dl
mov byte [esp + 0x1f6], 0xbb
mov byte [esp + 0x1f7], 0xd
mov byte [esp + 0x1f8], bl
mov byte [esp + 0x1f9], bl
mov byte [esp + 0x1fa], bl
mov byte [esp + 0x1fb], bl
mov byte [esp + 0x1fc], bl
mov byte [esp + 0x1fd], bl
mov byte [esp + 0x1fe], bl
mov byte [esp + 0x1ff], bl
mov byte [esp + 0x200], bl
mov byte [esp + 0x201], bl
mov byte [esp + 0x202], 0x64
mov dword [esp + 0x204], esi
mov dword [esp + 0x208], eax
mov byte [esp + 0x20c], 0xdc
mov byte [esp + 0x20d], 0x98
mov byte [esp + 0x20e], 0x67
mov byte [esp + 0x20f], 0x8c
mov byte [esp + 0x210], 0x31
mov byte [esp + 0x211], 0xc6
mov byte [esp + 0x212], bl
mov byte [esp + 0x213], bl
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], bl
mov byte [esp + 0x21b], bl
mov byte [esp + 0x21c], bl
mov byte [esp + 0x21d], bl
mov byte [esp + 0x21e], 0x66
mov dword [esp + 0x220], ebp
mov dword [esp + 0x224], eax
mov byte [esp + 0x228], bl
mov byte [esp + 0x229], bl
mov byte [esp + 0x22a], 0xd8
mov byte [esp + 0x22b], 0xfb
mov byte [esp + 0x22c], cl
mov byte [esp + 0x22d], dl
mov byte [esp + 0x22e], 0xbb
mov byte [esp + 0x22f], 0xd
mov byte [esp + 0x230], 0xc7
mov byte [esp + 0x231], 0x1e
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], bl
mov byte [esp + 0x239], bl
mov byte [esp + 0x23a], 0x67
mov dword [esp + 0x23c], ebp
mov dword [esp + 0x240], eax
mov byte [esp + 0x244], 0xc3
mov byte [esp + 0x245], 0x30
mov byte [esp + 0x246], 0x6c
mov byte [esp + 0x247], 0xf7
mov byte [esp + 0x248], cl
mov byte [esp + 0x249], dl
mov byte [esp + 0x24a], 0xf3
mov byte [esp + 0x24b], 0xc
mov byte [esp + 0x24c], bl
mov byte [esp + 0x24d], bl
mov byte [esp + 0x24e], bl
mov byte [esp + 0x24f], bl
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], 0x68
mov dword [esp + 0x258], ebp
mov dword [esp + 0x25c], eax
mov byte [esp + 0x260], 0xc3
mov byte [esp + 0x261], 0x30
mov byte [esp + 0x262], 0xcc
mov byte [esp + 0x263], 0xdb
mov byte [esp + 0x264], 0xf3
mov byte [esp + 0x265], 0x6c
mov byte [esp + 0x266], 0xdb
mov byte [esp + 0x267], 0xc
mov byte [esp + 0x268], bl
mov byte [esp + 0x269], bl
mov byte [esp + 0x26a], bl
mov byte [esp + 0x26b], bl
mov byte [esp + 0x26c], bl
mov byte [esp + 0x26d], bl
mov byte [esp + 0x26e], bl
mov byte [esp + 0x26f], bl
mov byte [esp + 0x270], bl
mov byte [esp + 0x271], bl
mov byte [esp + 0x272], 0x6b
mov dword [esp + 0x274], 2
mov dword [esp + 0x278], eax
mov byte [esp + 0x27c], 0xff
mov byte [esp + 0x27d], 0xff
mov byte [esp + 0x27e], 0xf
mov byte [esp + 0x27f], bl
mov byte [esp + 0x280], bl
mov byte [esp + 0x281], bl
mov byte [esp + 0x282], bl
mov byte [esp + 0x283], bl
mov byte [esp + 0x284], bl
mov byte [esp + 0x285], bl
mov byte [esp + 0x286], bl
mov byte [esp + 0x287], bl
mov byte [esp + 0x288], bl
mov byte [esp + 0x289], bl
mov byte [esp + 0x28a], bl
mov byte [esp + 0x28b], bl
mov byte [esp + 0x28c], bl
mov byte [esp + 0x28d], bl
mov byte [esp + 0x28e], 0x6c
mov dword [esp + 0x290], 2
mov dword [esp + 0x294], eax
mov byte [esp + 0x298], dl
mov byte [esp + 0x299], 0xff
mov byte [esp + 0x29a], 0xf
mov byte [esp + 0x29b], bl
mov byte [esp + 0x29c], bl
mov byte [esp + 0x29d], bl
mov byte [esp + 0x29e], bl
mov byte [esp + 0x29f], bl
mov byte [esp + 0x2a0], bl
mov byte [esp + 0x2a1], bl
mov byte [esp + 0x2a2], bl
mov byte [esp + 0x2a3], bl
mov byte [esp + 0x2a4], bl
mov byte [esp + 0x2a5], bl
mov byte [esp + 0x2a6], bl
mov byte [esp + 0x2a7], bl
mov byte [esp + 0x2a8], bl
mov byte [esp + 0x2a9], bl
mov byte [esp + 0x2aa], 0x69
mov dword [esp + 0x2ac], 4
mov dword [esp + 0x2b0], 0xd
mov byte [esp + 0x2b4], 0xcc
mov byte [esp + 0x2b5], 0xc0
mov byte [esp + 0x2b6], 0xcc
mov byte [esp + 0x2b7], 0xcc
mov byte [esp + 0x2b8], 0xcc
mov byte [esp + 0x2b9], 0xcc
mov byte [esp + 0x2ba], 7
mov byte [esp + 0x2bb], bl
mov byte [esp + 0x2bc], bl
mov byte [esp + 0x2bd], bl
mov byte [esp + 0x2be], bl
mov byte [esp + 0x2bf], bl
mov byte [esp + 0x2c0], bl
mov byte [esp + 0x2c1], bl
mov byte [esp + 0x2c2], bl
mov byte [esp + 0x2c3], bl
mov byte [esp + 0x2c4], bl
mov byte [esp + 0x2c5], bl
mov byte [esp + 0x2c6], 0x6a
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2cc], edi
mov byte [esp + 0x2d0], bl
mov byte [esp + 0x2d1], bl
mov byte [esp + 0x2d2], bl
mov byte [esp + 0x2d3], 0xc0
mov byte [esp + 0x2d4], 0x6e
mov byte [esp + 0x2d5], 0x77
mov byte [esp + 0x2d6], dl
mov byte [esp + 0x2d7], cl
mov byte [esp + 0x2d8], 0xf3
mov byte [esp + 0x2d9], 0xcc
mov byte [esp + 0x2da], 0x33
mov byte [esp + 0x2db], dl
mov byte [esp + 0x2dc], 0xc
mov byte [esp + 0x2dd], bl
mov byte [esp + 0x2de], bl
mov byte [esp + 0x2df], bl
mov byte [esp + 0x2e0], bl
mov byte [esp + 0x2e1], bl
mov byte [esp + 0x2e2], 0x6d
mov dword [esp + 0x2e4], ebp
mov dword [esp + 0x2e8], edi
mov byte [esp + 0x2ec], bl
mov byte [esp + 0x2ed], bl
mov byte [esp + 0x2ee], 0x6c
mov byte [esp + 0x2ef], 0xf7
mov byte [esp + 0x2f0], cl
mov byte [esp + 0x2f1], dl
mov byte [esp + 0x2f2], 0xf3
mov byte [esp + 0x2f3], 0xc
mov byte [esp + 0x2f4], bl
mov byte [esp + 0x2f5], bl
mov byte [esp + 0x2f6], bl
mov byte [esp + 0x2f7], bl
mov byte [esp + 0x2f8], bl
mov byte [esp + 0x2f9], bl
mov byte [esp + 0x2fa], bl
mov byte [esp + 0x2fb], bl
mov byte [esp + 0x2fc], bl
mov byte [esp + 0x2fd], bl
mov byte [esp + 0x2fe], 0x6e
mov dword [esp + 0x300], ebp
mov dword [esp + 0x304], eax
mov byte [esp + 0x308], bl
mov byte [esp + 0x309], bl
mov byte [esp + 0x30a], 0x6c
mov byte [esp + 0x30b], 0xf7
mov byte [esp + 0x30c], cl
mov byte [esp + 0x30d], dl
mov byte [esp + 0x30e], 0xf7
mov byte [esp + 0x30f], 0x36
mov byte [esp + 0x310], 0xc
mov byte [esp + 0x311], 3
mov byte [esp + 0x312], bl
mov byte [esp + 0x313], bl
mov byte [esp + 0x314], bl
mov byte [esp + 0x315], bl
mov byte [esp + 0x316], bl
mov byte [esp + 0x317], bl
mov byte [esp + 0x318], bl
mov byte [esp + 0x319], bl
mov byte [esp + 0x31a], 0x70
mov dword [esp + 0x31c], ebp
mov dword [esp + 0x320], eax
mov byte [esp + 0x324], bl
mov byte [esp + 0x325], bl
mov byte [esp + 0x326], 0xd8
mov byte [esp + 0x327], 0xfb
mov byte [esp + 0x328], cl
mov byte [esp + 0x329], dl
mov byte [esp + 0x32a], 0xbb
mov byte [esp + 0x32b], 0xd
mov byte [esp + 0x32c], 0xc3
mov byte [esp + 0x32d], 0x30
mov byte [esp + 0x32e], bl
mov byte [esp + 0x32f], bl
mov byte [esp + 0x330], bl
mov byte [esp + 0x331], bl
mov byte [esp + 0x332], bl
mov byte [esp + 0x333], bl
mov byte [esp + 0x334], bl
mov byte [esp + 0x335], bl
mov byte [esp + 0x336], 0x71
mov dword [esp + 0x338], 4
mov dword [esp + 0x33c], edi
mov byte [esp + 0x340], bl
mov byte [esp + 0x341], 0xf0
mov byte [esp + 0x342], 0x33
mov byte [esp + 0x343], 0x33
mov byte [esp + 0x344], 0x33
mov byte [esp + 0x345], bl
mov byte [esp + 0x346], bl
mov byte [esp + 0x347], bl
mov byte [esp + 0x348], bl
mov byte [esp + 0x349], bl
mov byte [esp + 0x34a], bl
mov byte [esp + 0x34b], bl
mov byte [esp + 0x34c], bl
mov byte [esp + 0x34d], bl
mov byte [esp + 0x34e], bl
mov byte [esp + 0x34f], bl
mov byte [esp + 0x350], bl
mov byte [esp + 0x351], bl
mov byte [esp + 0x352], 0x72
mov dword [esp + 0x354], ebp
mov dword [esp + 0x358], edi
mov byte [esp + 0x35c], bl
mov byte [esp + 0x35d], bl
mov byte [esp + 0x35e], 0x78
mov byte [esp + 0x35f], 0xf3
mov byte [esp + 0x360], 0xe1
mov byte [esp + 0x361], 0xe1
mov byte [esp + 0x362], 0xb3
mov byte [esp + 0x363], 7
mov byte [esp + 0x364], bl
mov byte [esp + 0x365], bl
mov byte [esp + 0x366], bl
mov byte [esp + 0x367], bl
mov byte [esp + 0x368], bl
mov byte [esp + 0x369], bl
mov byte [esp + 0x36a], bl
mov byte [esp + 0x36b], bl
mov byte [esp + 0x36c], bl
mov byte [esp + 0x399], dl
mov dword [esp + 0x3ac], eax
mov dl, 0xd9
mov al, 0xe
mov byte [esp + 0x36d], bl
mov byte [esp + 0x36e], 0x73
mov dword [esp + 0x370], 4
mov dword [esp + 0x374], 9
mov byte [esp + 0x378], 0x40
mov byte [esp + 0x379], 0xf6
mov byte [esp + 0x37a], 0x66
mov byte [esp + 0x37b], 0x66
mov byte [esp + 0x37c], 0xc6
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 + 0x382], bl
mov byte [esp + 0x383], bl
mov byte [esp + 0x384], bl
mov byte [esp + 0x385], bl
mov byte [esp + 0x386], bl
mov byte [esp + 0x387], bl
mov byte [esp + 0x388], bl
mov byte [esp + 0x389], bl
mov byte [esp + 0x38a], 0x74
mov dword [esp + 0x38c], ebp
mov dword [esp + 0x390], edi
mov byte [esp + 0x394], bl
mov byte [esp + 0x395], bl
mov byte [esp + 0x396], 0xcc
mov byte [esp + 0x397], 0xf3
mov byte [esp + 0x398], cl
mov byte [esp + 0x39a], 0xbb
mov byte [esp + 0x39b], 0xd
mov byte [esp + 0x39c], bl
mov byte [esp + 0x39d], bl
mov byte [esp + 0x39e], bl
mov byte [esp + 0x39f], bl
mov byte [esp + 0x3a0], bl
mov byte [esp + 0x3a1], bl
mov byte [esp + 0x3a2], bl
mov byte [esp + 0x3a3], bl
mov byte [esp + 0x3a4], bl
mov byte [esp + 0x3a5], bl
mov byte [esp + 0x3a6], 0x75
mov dword [esp + 0x3a8], edi
mov byte [esp + 0x3b0], bl
mov byte [esp + 0x3b1], bl
mov byte [esp + 0x3b2], 0x60
mov byte [esp + 0x3b3], cl
mov byte [esp + 0x3b4], 0xb6
mov byte [esp + 0x3b5], dl
mov byte [esp + 0x3b6], 0x6c
mov byte [esp + 0x3b7], 0x1c
mov byte [esp + 0x3b8], al
mov byte [esp + 0x3b9], 0x87
mov byte [esp + 0x3ba], 0xf1
mov byte [esp + 0x3bb], bl
mov byte [esp + 0x3bc], bl
mov byte [esp + 0x3bd], bl
mov byte [esp + 0x3be], bl
mov byte [esp + 0x3bf], bl
mov byte [esp + 0x3c0], bl
mov byte [esp + 0x3c1], bl
mov byte [esp + 0x3c2], 0x79
mov dword [esp + 0x3c4], edi
mov dword [esp + 0x3c8], edi
mov byte [esp + 0x3cc], bl
mov byte [esp + 0x3cd], bl
mov byte [esp + 0x3ce], 0x60
mov byte [esp + 0x3cf], cl
mov byte [esp + 0x3d0], 0xb6
mov byte [esp + 0x3d1], dl
mov byte [esp + 0x3d2], 0x6c
mov byte [esp + 0x3d3], 0x1c
mov byte [esp + 0x3d4], al
mov byte [esp + 0x3d5], bl
mov byte [esp + 0x3d6], bl
mov byte [esp + 0x3d7], bl
mov byte [esp + 0x3ed], cl
mov ecx, dword [esp + 0x474]
mov byte [esp + 0x3d8], bl
mov byte [esp + 0x3d9], bl
mov byte [esp + 0x3da], bl
mov byte [esp + 0x3db], bl
mov byte [esp + 0x3dc], bl
mov byte [esp + 0x3dd], bl
mov byte [esp + 0x3de], 0x76
mov dword [esp + 0x3e0], 0xb
mov dword [esp + 0x3e4], edi
mov byte [esp + 0x3e8], bl
mov byte [esp + 0x3e9], bl
mov byte [esp + 0x3ea], bl
mov byte [esp + 0x3eb], bl
mov byte [esp + 0x3ec], 0x46
mov byte [esp + 0x3ee], 0x67
mov byte [esp + 0x3ef], 0xbb
mov byte [esp + 0x3f0], 0x59
mov byte [esp + 0x3f1], 0xcd
mov byte [esp + 0x3f2], 0x7b
mov byte [esp + 0x3f3], 0xdc
mov byte [esp + 0x3f4], 0x61
mov byte [esp + 0x3f5], 0xc
mov byte [esp + 0x3f6], bl
mov byte [esp + 0x3f7], bl
mov byte [esp + 0x3f8], bl
mov byte [esp + 0x3f9], bl
mov byte [esp + 0x3fa], 0x77
mov dword [esp + 0x3fc], ebp
mov dword [esp + 0x400], edi
mov byte [esp + 0x404], bl
mov byte [esp + 0x405], bl
mov byte [esp + 0x406], 0xcc
mov byte [esp + 0x407], 0xb3
mov byte [esp + 0x408], 0xc7
mov byte [esp + 0x409], 0x78
mov byte [esp + 0x40a], 0xf3
mov byte [esp + 0x40b], 0xc
mov byte [esp + 0x40c], bl
mov byte [esp + 0x40d], bl
mov byte [esp + 0x40e], bl
mov byte [esp + 0x40f], bl
mov byte [esp + 0x410], bl
mov byte [esp + 0x411], bl
mov byte [esp + 0x412], bl
mov byte [esp + 0x413], bl
mov byte [esp + 0x414], bl
mov byte [esp + 0x415], bl
mov byte [esp + 0x416], 0x78
mov dword [esp + 0x418], esi
mov dword [esp + 0x41c], edi
mov byte [esp + 0x420], bl
mov byte [esp + 0x421], 0x80
mov byte [esp + 0x422], 0x8f
mov byte [esp + 0x423], 0x99
mov byte [esp + 0x424], 0x31
mov byte [esp + 0x425], 0xe3
mov byte [esp + 0x426], 3
mov byte [esp + 0x427], bl
mov byte [esp + 0x428], bl
mov byte [esp + 0x429], bl
mov byte [esp + 0x42a], bl
mov byte [esp + 0x42b], bl
mov byte [esp + 0x42c], bl
mov byte [esp + 0x42d], bl
mov byte [esp + 0x42e], bl
mov byte [esp + 0x42f], bl
mov byte [esp + 0x430], bl
mov byte [esp + 0x431], bl
mov byte [esp + 0x432], 0x7a
call sub.MFC42.DLL_CString::Empty
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x44c]
cmp ecx, eax
jge 0x404bb6
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
sub esp, 0x18
mov ecx, ebp
lea esi, [esp + 0x468]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x54]
call fcn.00403340
cmp eax, 0xbfbfbf
ja 0x404bb6
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0x12
mov dword [esp + 0x10], eax
jle 0x404b65
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44c]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x404b61
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ebx
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov eax, dword [esp + edx + 0x44]
mov dword [esp + 0x20], eax
cmp ecx, dword [esp + 0x20]
jge 0x404cba
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], ecx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
jmp 0x404bf3
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov edx, ecx
sar edx, 3
add edx, edi
and cl, 7
lea esi, [esp + 0x448]
mov al, byte [esp + edx + 0x4c]
mov edx, dword [esp + 0x38]
shr al, cl
mov ecx, dword [esp + 0x10]
add ecx, 6
push ecx
push edx
sub esp, 0x18
and al, 1
mov ecx, 6
mov edi, esp
mov byte [esp + 0x460], al
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x460]
push eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x54]
and ebp, 0xff
call fcn.00403340
mov ecx, 0xbfbfbf
cmp ecx, eax
sbb edx, edx
neg edx
xor edx, ebp
test ebp, edx
jne 0x404c91
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
inc eax
add edx, ecx
cmp eax, 0xc
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edx
jle 0x404bef
mov eax, dword [esp + 0x18]
mov ebp, 6
inc eax
mov dword [esp + 0x18], eax
mov ecx, eax
jmp 0x404bd0
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
add eax, 0x1c
inc esi
cmp eax, 0x3f0
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], eax
jge 0x404d8f
mov ebp, 6
jmp 0x404bbe
mov eax, dword [esp + 0x24]
cmp eax, 0x24
jge 0x404d8f
lea ecx, [eax*8]
xor edi, edi
sub ecx, eax
mov dword [esp + 0x18], edi
shl ecx, 2
mov dword [esp + 0x20], ecx
mov eax, dword [esp + ecx + 0x44]
cmp eax, ebx
mov dword [esp + 0x38], eax
jle 0x404d63
xor esi, esi
mov eax, edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], eax
mov edx, eax
sar edx, 3
add edx, ecx
mov cl, al
and cl, 7
mov dl, byte [esp + edx + 0x4c]
shr dl, cl
test dl, 1
je 0x404d42
mov eax, dword [esp + 0x14]
add esi, 6
push ebx
add edi, eax
push esi
push edi
sub esp, 0x18
mov ecx, ebp
lea esi, [esp + 0x46c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x58]
call fcn.004033d0
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
inc esi
add eax, edx
cmp esi, 0xc
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], eax
jle 0x404cf5
inc edi
cmp edi, edx
mov dword [esp + 0x18], edi
jl 0x404ce9
mov edi, dword [esp + 0x14]
mov dl, byte [esp + ecx + 0x5e]
mov ecx, dword [esp + 0x474]
inc edi
push edx
mov dword [esp + 0x18], edi
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [esp + 0x28]
inc eax
cmp eax, 4
mov dword [esp + 0x28], eax
jl 0x404b52
mov eax, dword [esp + 0x434]
mov dword [esp + 0x28], 1
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [esp + 0x3c], 0x40f7c4
lea ecx, [esp + 0x3c]
mov byte [esp + 0x468], 2
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov ebp, dword [esp + 0x444]
mov byte [esp + 0x468], bl
mov dword [esp + 0x3c], 0x40f7b0
mov eax, dword [esp + 0x438]
push eax
mov edx, dword [eax]
call dword [edx + 8]
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalFree]
lea ecx, [esp + 0x470]
mov dword [esp + 0x468], 0xffffffff
call fcn.0040d550
mov ecx, dword [esp + 0x460]
mov eax, dword [esp + 0x28]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x45c
ret 8