Function at 0x4fd480
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ecx, 0x4013c2
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x55c
mov esi, dword [ebp + 0x20]
mov edx, dword [esi + 0x7c]
mov edi, dword [esi]
lea eax, [edi + edx]
mov dword [ebp - 0xac], eax
sub edi, edx
mov eax, edi
imul ecx
mov edi, dword [esi + 4]
mov ecx, 0x40b346
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xb4], edx
lea ebx, [edi + eax]
sub edi, eax
mov dword [ebp - 0x40c], ebx
mov eax, edi
imul ecx
mov ebx, dword [esi + 0x74]
mov ecx, 0x41fa2d
mov edi, dword [esi + 8]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0xbc], edx
lea edx, [edi + ebx]
sub edi, ebx
mov dword [ebp - 0xc0], eax
mov eax, edi
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x410], edx
imul ecx
mov edi, 0x43f934
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0xc4], edx
mov edx, dword [esi + 0x70]
mov dword [ebp - 0xc8], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x414], eax
mov eax, ebx
imul edi
mov ebx, dword [esi + 0x10]
mov edi, 0x46cc1c
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0x6c]
mov dword [ebp - 0xcc], edx
lea ecx, [ebx + eax]
sub ebx, eax
mov dword [ebp - 0x418], ecx
mov eax, ebx
imul edi
mov ecx, dword [esi + 0x14]
mov ebx, 0x4a9d9d
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0xd4], edx
mov edx, dword [esi + 0x68]
mov dword [ebp - 0xd8], eax
lea edi, [ecx + edx]
sub ecx, edx
mov eax, ecx
imul ebx
mov ecx, 0x4fae37
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0xe0], eax
mov ebx, dword [esi + 0x18]
mov dword [ebp - 0xdc], edx
mov edx, dword [esi + 0x64]
lea eax, [ebx + edx]
mov dword [ebp - 0x41c], eax
sub ebx, edx
mov eax, ebx
imul ecx
mov ebx, dword [esi + 0x1c]
mov ecx, 0x56601f
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0xe4], edx
mov edx, dword [esi + 0x60]
mov dword [ebp - 0xe8], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x420], eax
mov eax, ebx
imul ecx
mov ebx, dword [esi + 0x20]
mov ecx, 0x5f4cf7
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0xec], edx
mov edx, dword [esi + 0x5c]
mov dword [ebp - 0xf0], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x424], eax
mov eax, ebx
imul ecx
mov ebx, dword [esi + 0x24]
mov ecx, 0x6b6fcf
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0xf4], edx
mov edx, dword [esi + 0x58]
mov dword [ebp - 0xf8], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x428], eax
mov eax, ebx
imul ecx
mov ebx, dword [esi + 0x28]
mov ecx, 0x7c7d1e
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0xfc], edx
mov edx, dword [esi + 0x54]
mov dword [ebp - 0x100], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x42c], eax
mov eax, ebx
imul ecx
mov ebx, dword [esi + 0x2c]
mov ecx, 0x95b035
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x104], edx
mov edx, dword [esi + 0x50]
mov dword [ebp - 0x108], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x430], eax
mov eax, ebx
imul ecx
mov ebx, dword [esi + 0x30]
mov ecx, 0xbdf91b
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x10c], edx
mov edx, dword [esi + 0x4c]
mov dword [ebp - 0x110], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x434], eax
mov eax, ebx
imul ecx
mov ebx, dword [esi + 0x34]
mov ecx, 0x107655e
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x114], edx
mov edx, dword [esi + 0x48]
mov dword [ebp - 0x118], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x438], eax
mov eax, ebx
imul ecx
mov ebx, dword [esi + 0x38]
mov ecx, 0x1b42c83
mov dword [ebp - 0x53c], ebx
mov ebx, dword [esi + 0x3c]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x11c], edx
mov edx, dword [esi + 0x44]
sub dword [ebp - 0x53c], edx
add eax, edx
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x53c], ebx
mov ebx, 0x404f46
imul ecx
mov ecx, dword [ebp - 0x53c]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x128], eax
mov eax, dword [esi + 0x40]
sub dword [ebp - 0x53c], eax
mov dword [ebp - 0x124], edx
add ecx, eax
mov eax, 0x5185230
imul dword [ebp - 0x53c]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp - 0xac]
sub dword [ebp - 0xac], ecx
mov dword [ebp - 0x130], eax
add edx, ecx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x444], edx
imul ebx
mov ebx, 0x42e13c
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x43c]
mov dword [ebp - 0x134], edx
mov edx, dword [ebp - 0x40c]
add edx, eax
mov dword [ebp - 0x448], edx
mov ecx, dword [ebp - 0x43c]
sub dword [ebp - 0x40c], ecx
mov ecx, dword [ebp - 0x438]
mov eax, dword [ebp - 0x40c]
imul ebx
mov ebx, 0x48919f
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x13c], edx
mov edx, dword [ebp - 0x410]
sub dword [ebp - 0x410], ecx
mov ecx, dword [ebp - 0x434]
add edx, eax
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x410]
imul ebx
mov ebx, 0x52cb0e
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x144], edx
mov edx, dword [ebp - 0x414]
sub dword [ebp - 0x414], ecx
mov ecx, dword [ebp - 0x430]
add edx, eax
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x414]
imul ebx
mov ebx, 0x64e240
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x14c], edx
mov edx, dword [ebp - 0x418]
sub dword [ebp - 0x418], ecx
mov ecx, 0x87c449
add edx, eax
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x418]
imul ebx
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x154], edx
add eax, edi
mov dword [ebp - 0x458], eax
mov edx, dword [ebp - 0x42c]
mov ebx, dword [ebp - 0x428]
sub edi, edx
mov eax, edi
imul ecx
mov ecx, dword [ebp - 0x41c]
mov edi, 0xdc7926
add ecx, ebx
shrd eax, edx, 0x17
mov dword [ebp - 0x45c], ecx
sar edx, 0x17
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x15c], edx
mov ecx, dword [ebp - 0x424]
mov ebx, dword [ebp - 0x420]
sub dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x41c]
imul edi
sub dword [ebp - 0x420], ecx
mov edi, 0x28cf270
mov ecx, 0xffbfb0ba
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x164], edx
mov edx, dword [ebp - 0x424]
add ebx, edx
mov dword [ebp - 0x460], ebx
imul edi
mov ebx, dword [ebp - 0x130]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x16c], edx
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x170], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x464], eax
mov eax, ebx
imul ecx
mov ebx, dword [ebp - 0x128]
mov ecx, 0xffbd1ec4
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x174], edx
lea edi, [ebx + eax]
sub ebx, eax
mov dword [ebp - 0x468], edi
mov eax, ebx
imul ecx
mov edi, dword [ebp - 0xc8]
mov ecx, 0xffb76e61
mov ebx, dword [ebp - 0x120]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x17c], edx
lea edx, [ebx + edi]
sub ebx, edi
mov dword [ebp - 0x180], eax
mov eax, ebx
mov dword [ebp - 0x46c], edx
imul ecx
mov edi, dword [ebp - 0x118]
mov ecx, 0xffad34f2
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x184], edx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x188], eax
lea eax, [edi + edx]
sub edi, edx
mov dword [ebp - 0x470], eax
mov eax, edi
imul ecx
mov edi, dword [ebp - 0x110]
mov ecx, 0xff9b1dc0
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x18c], edx
lea ebx, [edi + eax]
sub edi, eax
mov dword [ebp - 0x474], ebx
mov eax, edi
imul ecx
mov ebx, dword [ebp - 0xe0]
mov ecx, 0xff783bb7
mov edi, dword [ebp - 0x108]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x194], edx
lea edx, [edi + ebx]
sub edi, ebx
mov dword [ebp - 0x198], eax
mov eax, edi
mov ebx, dword [ebp - 0x100]
mov dword [ebp - 0x478], edx
imul ecx
mov edi, 0xff2386da
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x19c], edx
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x1a0], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x47c], eax
mov eax, ebx
imul edi
mov ebx, dword [ebp - 0xf8]
mov edi, 0xfd730d90
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x1a4], edx
lea ecx, [ebx + eax]
sub ebx, eax
mov dword [ebp - 0x480], ecx
mov eax, ebx
imul edi
mov edi, dword [ebp - 0x444]
mov ebx, dword [ebp - 0x460]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1b0], eax
mov eax, 0x4140fb
mov dword [ebp - 0x1ac], edx
mov edx, dword [ebp - 0x460]
add edi, ebx
sub dword [ebp - 0x444], edx
imul dword [ebp - 0x444]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0x448]
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x45c]
mov ebx, dword [ebp - 0x45c]
sub dword [ebp - 0x448], ebx
add ecx, eax
mov eax, 0x4cf8df
mov dword [ebp - 0x484], ecx
mov ecx, dword [ebp - 0x458]
mov ebx, dword [ebp - 0x454]
imul dword [ebp - 0x448]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x1bc], edx
mov edx, dword [ebp - 0x458]
sub dword [ebp - 0x44c], ecx
mov ecx, dword [ebp - 0x170]
add eax, edx
mov dword [ebp - 0x488], eax
mov eax, 0x73326c
imul dword [ebp - 0x44c]
mov dword [ebp - 0x53c], ecx
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x454]
mov dword [ebp - 0x1c4], edx
mov edx, dword [ebp - 0x450]
sub dword [ebp - 0x450], eax
mov eax, 0x1480d9d
add edx, ebx
mov dword [ebp - 0x48c], edx
imul dword [ebp - 0x450]
mov ebx, dword [ebp - 0x138]
sub dword [ebp - 0x53c], ebx
add ecx, ebx
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1d0], eax
mov eax, 0xffbebf05
mov dword [ebp - 0x1cc], edx
imul dword [ebp - 0x53c]
mov dword [ebp - 0x490], ecx
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x1d4], edx
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x53c], edx
add edx, eax
sub dword [ebp - 0x53c], eax
mov eax, 0xffb30721
mov dword [ebp - 0x494], edx
imul dword [ebp - 0x53c]
mov dword [ebp - 0x53c], ecx
mov ebx, dword [ebp - 0x53c]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x148]
sub dword [ebp - 0x53c], eax
mov dword [ebp - 0x1dc], edx
add ebx, eax
mov eax, 0xff8ccd94
imul dword [ebp - 0x53c]
mov dword [ebp - 0x498], ebx
mov ebx, dword [ebp - 0x150]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1e4], edx
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x1e8], eax
mov eax, 0xfeb7f263
mov dword [ebp - 0x53c], edx
mov ecx, dword [ebp - 0x53c]
sub dword [ebp - 0x53c], ebx
add ecx, ebx
mov ebx, dword [ebp - 0x480]
imul dword [ebp - 0x53c]
mov dword [ebp - 0x49c], ecx
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x1ec], edx
mov edx, dword [ebp - 0x464]
add edx, eax
mov dword [ebp - 0x4a0], edx
mov eax, 0x4140fb
sub dword [ebp - 0x464], ebx
mov ecx, dword [ebp - 0x47c]
mov ebx, dword [ebp - 0x478]
imul dword [ebp - 0x464]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x1f4], edx
mov edx, dword [ebp - 0x468]
sub dword [ebp - 0x468], eax
mov eax, 0x4cf8df
add edx, ecx
mov dword [ebp - 0x4a4], edx
imul dword [ebp - 0x468]
mov ecx, dword [ebp - 0x46c]
add ecx, ebx
shrd eax, edx, 0x17
mov ebx, dword [ebp - 0x470]
sar edx, 0x17
mov dword [ebp - 0x1fc], edx
mov edx, dword [ebp - 0x478]
sub dword [ebp - 0x46c], edx
mov dword [ebp - 0x200], eax
mov eax, 0x73326c
imul dword [ebp - 0x46c]
mov dword [ebp - 0x4a8], ecx
mov ecx, dword [ebp - 0x474]
sub dword [ebp - 0x470], ecx
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x474]
mov dword [ebp - 0x204], edx
add ebx, eax
mov eax, 0x1480d9d
imul dword [ebp - 0x470]
mov dword [ebp - 0x4ac], ebx
mov ebx, dword [ebp - 0x1b0]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x20c], edx
lea edx, [ebx + eax]
sub ebx, eax
mov dword [ebp - 0x4b0], edx
mov eax, 0xffbebf05
imul ebx
mov ebx, dword [ebp - 0x1a8]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x214], edx
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x218], eax
mov eax, 0xffb30721
lea ecx, [ebx + edx]
mov dword [ebp - 0x4b4], ecx
sub ebx, edx
imul ebx
mov ebx, dword [ebp - 0x1a0]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x21c], edx
mov edx, dword [ebp - 0x188]
mov dword [ebp - 0x220], eax
lea eax, [ebx + edx]
sub ebx, edx
mov dword [ebp - 0x4b8], eax
mov eax, 0xff8ccd94
imul ebx
mov ebx, dword [ebp - 0x198]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x224], edx
lea ecx, [ebx + eax]
sub ebx, eax
mov dword [ebp - 0x4bc], ecx
mov eax, 0xfeb7f263
imul ebx
mov ebx, dword [ebp - 0x48c]
mov ecx, dword [ebp - 0x484]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x22c], edx
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x230], eax
mov eax, 0x4545ea
add edx, edi
mov dword [ebp - 0x4c0], edx
sub edi, ebx
imul edi
mov ebx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1b8]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x234], edx
mov edx, dword [ebp - 0x488]
add ecx, eax
sub dword [ebp - 0x484], edx
mov eax, 0xa73d75
mov dword [ebp - 0x53c], ebx
add ebx, edi
imul dword [ebp - 0x484]
mov dword [ebp - 0x4c4], ecx
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], edx
mov dword [ebp - 0x4c8], ebx
mov ebx, dword [ebp - 0x49c]
sub dword [ebp - 0x53c], edi
mov edi, 0xffbaba16
mov eax, dword [ebp - 0x53c]
imul edi
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x244], edx
mov edx, dword [ebp - 0x1c0]
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x53c]
mov eax, 0xff58c28b
add ecx, edx
sub dword [ebp - 0x53c], edx
mov dword [ebp - 0x4cc], ecx
mov ecx, dword [ebp - 0x498]
imul dword [ebp - 0x53c]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x490]
mov dword [ebp - 0x24c], edx
mov edx, dword [ebp - 0x49c]
add eax, ebx
sub dword [ebp - 0x490], edx
mov ebx, dword [ebp - 0x494]
mov dword [ebp - 0x4d0], eax
mov eax, 0x4545ea
add ebx, ecx
imul dword [ebp - 0x490]
mov dword [ebp - 0x4d4], ebx
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x498]
sub dword [ebp - 0x494], eax
mov eax, 0xa73d75
mov dword [ebp - 0x254], edx
imul dword [ebp - 0x494]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x25c], edx
mov edx, dword [ebp - 0x1f0]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x53c], edx
mov ebx, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1e8]
sub dword [ebp - 0x53c], ebx
add edx, ebx
mov ebx, dword [ebp - 0x1e0]
mov dword [ebp - 0x4d8], edx
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x53c], ecx
mov ecx, dword [ebp - 0x4a0]
imul edi
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x53c]
sub dword [ebp - 0x53c], ebx
mov dword [ebp - 0x264], edx
add eax, ebx
mov ebx, dword [ebp - 0x4a8]
mov dword [ebp - 0x4dc], eax
mov eax, 0xff58c28b
imul dword [ebp - 0x53c]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x4ac]
sub dword [ebp - 0x4a0], eax
mov eax, 0x4545ea
mov dword [ebp - 0x26c], edx
mov edx, dword [ebp - 0x4ac]
add ecx, edx
imul dword [ebp - 0x4a0]
mov dword [ebp - 0x4e0], ecx
mov ecx, dword [ebp - 0x4a8]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x274], edx
mov edx, dword [ebp - 0x4a4]
sub dword [ebp - 0x4a4], ecx
mov dword [ebp - 0x278], eax
add edx, ebx
mov eax, 0xa73d75
mov dword [ebp - 0x4e4], edx
imul dword [ebp - 0x4a4]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x27c], edx
mov ebx, dword [ebp - 0x1f8]
mov dword [ebp - 0x53c], eax
add eax, ebx
sub dword [ebp - 0x53c], ebx
mov ebx, dword [ebp - 0x4bc]
mov dword [ebp - 0x4e8], eax
mov eax, dword [ebp - 0x53c]
imul edi
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x284], edx
mov edx, dword [ebp - 0x208]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x53c], edx
mov ecx, dword [ebp - 0x53c]
sub dword [ebp - 0x53c], eax
add ecx, eax
mov eax, 0xff58c28b
imul dword [ebp - 0x53c]
mov dword [ebp - 0x4ec], ecx
mov ecx, dword [ebp - 0x4bc]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x28c], edx
mov edx, dword [ebp - 0x4b0]
sub dword [ebp - 0x4b0], ecx
mov dword [ebp - 0x290], eax
add edx, ebx
mov eax, 0x4545ea
mov dword [ebp - 0x4f0], edx
imul dword [ebp - 0x4b0]
mov ebx, dword [ebp - 0x4b4]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0x294], edx
mov edx, dword [ebp - 0x4b8]
add ebx, eax
mov dword [ebp - 0x4f4], ebx
mov eax, 0xa73d75
sub dword [ebp - 0x4b4], edx
mov ebx, dword [ebp - 0x230]
imul dword [ebp - 0x4b4]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x29c], edx
lea ecx, [ebx + eax]
sub ebx, eax
mov dword [ebp - 0x4f8], ecx
mov eax, ebx
imul edi
mov ebx, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x4c4]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x2a4], edx
mov edx, dword [ebp - 0x220]
mov dword [ebp - 0x2a8], eax
mov eax, 0xff58c28b
lea edi, [ebx + edx]
mov dword [ebp - 0x4fc], edi
sub ebx, edx
imul ebx
mov edi, dword [ebp - 0x4c0]
mov ebx, dword [ebp - 0x240]
sub dword [ebp - 0x4c0], ecx
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x2ac], edx
add edi, eax
mov eax, dword [ebp - 0x4c0]
mov dword [ebp - 0x98], edi
mov dword [esi], edi
mov edi, 0x5a827a
imul edi
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x2b4], edx
mov edx, dword [ebp - 0x238]
mov dword [esi + 4], eax
mov dword [ebp - 0x2b8], eax
lea ecx, [ebx + edx]
mov eax, 0xffa57d86
sub ebx, edx
imul ebx
mov ebx, dword [ebp - 0x4c8]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x2c0], eax
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x2bc], edx
mov edx, dword [ebp - 0x4cc]
add ecx, eax
mov dword [ebp - 0x78], ecx
add ebx, edx
mov dword [esi + 8], ecx
mov dword [ebp - 0x500], ebx
mov ecx, dword [ebp - 0x4cc]
mov ebx, dword [ebp - 0x500]
sub dword [ebp - 0x4c8], ecx
mov eax, dword [ebp - 0x4c8]
imul edi
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x2c4], edx
mov edx, dword [ebp - 0x248]
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x53c]
mov eax, 0xffa57d86
sub dword [ebp - 0x53c], edx
add ecx, edx
imul dword [ebp - 0x53c]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x2d0], eax
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2cc], edx
mov edx, dword [ebp - 0x2c8]
add ecx, eax
add ebx, ecx
add ecx, edx
add edx, eax
mov dword [ebp - 0x88], ebx
mov eax, dword [ebp - 0x4d4]
mov dword [esi + 0x10], ebx
mov ebx, dword [ebp - 0x4d4]
mov dword [ebp - 0x68], ecx
mov dword [esi + 0x18], ecx
mov ecx, dword [ebp - 0x4d0]
sub dword [ebp - 0x4d0], eax
mov dword [ebp - 0x48], edx
add ecx, ebx
mov eax, dword [ebp - 0x4d0]
mov dword [esi + 0x14], edx
mov ebx, 0xffa57d86
mov dword [ebp - 0x508], ecx
imul edi
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], edx
mov edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x260]
lea ecx, [eax + edx]
sub eax, edx
imul ebx
mov ebx, dword [ebp - 0x4dc]
shrd eax, edx, 0x17
add ecx, eax
mov edx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e8], ecx
mov ecx, dword [ebp - 0x4d8]
sub dword [ebp - 0x4d8], ebx
mov dword [ebp - 0x2e4], eax
add ecx, edx
mov eax, dword [ebp - 0x4d8]
mov dword [ebp - 0x50c], ecx
mov ecx, dword [ebp - 0x268]
imul edi
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x53c], eax
mov ebx, dword [ebp - 0x53c]
mov eax, 0xffa57d86
sub dword [ebp - 0x53c], ecx
add ebx, ecx
mov ecx, dword [ebp - 0x50c]
imul dword [ebp - 0x53c]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f4], edx
mov edx, dword [ebp - 0x2f8]
mov dword [esi + 0x3c], eax
mov dword [ebp - 0x2fc], edx
mov eax, dword [ebp - 0x2fc]
mov edx, ebx
mov ebx, dword [ebp - 0x2fc]
add edx, eax
mov eax, dword [ebp - 0x2f0]
add ecx, edx
mov dword [ebp - 0x300], ecx
add edx, eax
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x304], edx
mov edx, dword [ebp - 0x4e0]
add eax, ebx
mov dword [ebp - 0x308], eax
add edx, ecx
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x4e4]
mov dword [esi + 0x40], edx
mov ebx, dword [ebp - 0x278]
sub dword [ebp - 0x4e0], eax
mov eax, dword [ebp - 0x4e0]
imul edi
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [esi + 0x44], eax
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x30c], edx
lea ecx, [eax + ebx]
sub eax, ebx
mov ebx, 0xffa57d86
imul ebx
shrd eax, edx, 0x17
add ecx, eax
mov dword [esi + 0x4c], eax
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x4ec]
mov dword [esi + 0x48], ecx
mov dword [ebp - 0x318], ecx
mov ecx, dword [ebp - 0x4e8]
sub dword [ebp - 0x4e8], eax
add ecx, edx
mov eax, dword [ebp - 0x4e8]
mov dword [ebp - 0x518], ecx
imul edi
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x31c], edx
mov edx, dword [ebp - 0x288]
lea ecx, [eax + edx]
sub eax, edx
imul ebx
shrd eax, edx, 0x17
mov edx, ecx
add edx, eax
mov dword [esi + 0x5c], eax
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x320]
add ecx, edx
mov dword [esi + 0x50], ecx
add edx, eax
mov dword [esi + 0x58], edx
mov dword [ebp - 0x32c], edx
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x328], ecx
add eax, edx
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [esi + 0x54], eax
mov eax, dword [ebp - 0x4f4]
mov ebx, dword [ebp - 0x4f4]
sub dword [ebp - 0x4f0], eax
add ecx, ebx
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 0x520], ecx
mov ebx, 0xffa57d86
imul edi
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x334], edx
mov edx, dword [ebp - 0x298]
lea ecx, [eax + edx]
sub eax, edx
imul ebx
mov ebx, dword [ebp - 0x4fc]
shrd eax, edx, 0x17
add ecx, eax
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 0x340], ecx
mov ecx, dword [ebp - 0x4fc]
sub dword [ebp - 0x4f8], ebx
add eax, ecx
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x4f8]
imul edi
mov edi, dword [ebp - 0x2b0]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x53c], edi
mov edi, dword [ebp - 0x53c]
mov dword [ebp - 0x344], edx
mov edx, dword [ebp - 0x2a8]
sub dword [ebp - 0x53c], edx
mov dword [ebp - 0x348], eax
mov eax, 0xffa57d86
add edi, edx
imul dword [ebp - 0x53c]
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebp - 0x350], eax
mov dword [esi + 0x7c], eax
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x34c], edx
add edi, eax
mov dword [ebp - 0x354], eax
mov ebx, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x524]
mov edx, dword [ebp - 0x300]
add ecx, edi
add edi, ebx
mov dword [ebp - 0x358], ecx
add ebx, eax
mov eax, dword [ebp - 0x508]
mov dword [ebp - 0x35c], ebx
mov ecx, dword [ebp - 0x2e8]
mov ebx, dword [ebp - 0x300]
add eax, edx
mov edx, dword [ebp - 0x304]
add ebx, ecx
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x304]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x80], ebx
mov dword [esi + 0x30], ebx
add eax, edx
mov ebx, dword [ebp - 0x308]
mov dword [ebp - 0x70], eax
mov edx, dword [ebp - 0x2e4]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x2e0]
add ecx, eax
mov dword [ebp - 0x60], ecx
add eax, ebx
mov ebx, dword [ebp - 0x308]
mov dword [esi + 0x38], ecx
mov ecx, dword [ebp - 0x2fc]
add ebx, edx
mov dword [esi + 0x24], eax
mov edx, dword [ebp - 0x2e4]
mov dword [esi + 0x34], ebx
add edx, ecx
mov ecx, dword [ebp - 0x2b8]
mov dword [esi + 0x2c], edx
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x2c0]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x2d0]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x340]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x520]
add ecx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x358]
mov edx, dword [ebp - 0x338]
mov dword [esi + 0x70], ecx
add eax, ebx
mov ebx, dword [ebp - 0x35c]
mov dword [ebp - 0x364], ecx
mov ecx, dword [ebp - 0x340]
mov dword [esi + 0x60], eax
mov dword [ebp - 0x360], eax
add ecx, edi
mov eax, dword [ebp - 0x33c]
mov dword [esi + 0x68], ecx
add edi, edx
add edx, ebx
mov dword [esi + 0x78], edi
mov ebx, dword [ebp - 0x35c]
mov dword [esi + 0x64], edx
add ebx, eax
mov eax, dword [ebp - 0x33c]
add eax, dword [ebp - 0x354]
mov dword [esi + 0x74], ebx
mov dword [esi + 0x6c], eax
mov esi, dword [ebp - 0x360]
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0x514]
add eax, esi
mov dword [ebp - 0x94], eax
mov esi, dword [ebp - 0x310]
lea eax, [esi + edx]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x318]
add eax, ecx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x314]
add eax, dword [ebp - 0x370]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x328]
add eax, dword [ebp - 0x364]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x330]
add eax, ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x32c]
add eax, edi
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x324]
add edi, esi
add eax, dword [ebp - 0x354]
mov dword [ebp - 0x5c], edi
mov esi, dword [ebp - 0x350]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x360]
add eax, dword [ebp - 0x328]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x330]
add edx, eax
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x32c]
mov eax, ecx
mov ecx, dword [ebp - 0x324]
add eax, edx
mov edx, dword [ebp - 0x370]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x318]
add edx, ecx
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x364]
mov edx, dword [ebp - 0x314]
add ecx, eax
mov eax, ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x7c], ecx
add eax, edx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebx]
lea eax, [edx + ecx*4]
mov dword [ebp - 0xa4], ecx
xor edx, edx
mov dword [ebp - 0x9c], eax
lea esi, [esi]
mov esi, dword [ebp + edx*4 - 0x98]
mov ebx, dword [ebp - 0x9c]
mov dword [ebx + edx*4], esi
inc edx
cmp edx, 0x1f
jle 0x4fe8e0
mov dword [esp + 4], ebx
mov eax, ebx
mov ecx, 0x80
mov dword [esp + 8], ecx
add eax, 0x800
mov dword [esp], eax
call fcn.004050f0
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
shl edi, 5
mov eax, dword [ebp + 0x10]
sub edi, edx
mov edx, dword [ebp + 0x14]
lea ecx, [esi + edi*2]
add eax, 0x7c
mov dword [ebp - 0xa8], ecx
mov edi, dword [edx]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebx + 0x40]
mov esi, edi
mov dword [ebp - 0x378], edi
mov edi, dword [ebp + 0x10]
mov eax, ecx
sar esi, 0x1f
mov dword [ebp - 0x374], esi
mov esi, ebx
add esi, 0x40
imul dword [edi]
mov ebx, dword [esi + 0x100]
mov dword [ebp - 0x548], eax
mov eax, dword [ebp - 0x378]
add dword [ebp - 0x548], eax
mov eax, dword [edi + 0x100]
mov dword [ebp - 0x544], edx
mov edx, dword [ebp - 0x374]
mov ecx, dword [ebp - 0x548]
adc dword [ebp - 0x544], edx
imul ebx
mov ebx, dword [esi + 0x200]
mov edi, dword [ebp - 0x544]
mov dword [ebp - 0x380], eax
mov eax, ebx
add dword [ebp - 0x380], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x37c], edx
adc dword [ebp - 0x37c], edi
imul dword [ecx + 0x200]
mov dword [ebp - 0x548], eax
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x544], edx
mov edi, dword [esi + 0x300]
mov edx, dword [ebp - 0x37c]
add dword [ebp - 0x548], eax
mov eax, dword [ecx + 0x300]
mov ecx, dword [esi + 0x400]
adc dword [ebp - 0x544], edx
imul edi
mov ebx, dword [ebp - 0x548]
mov edi, dword [ebp - 0x544]
mov dword [ebp - 0x388], eax
mov eax, ecx
add dword [ebp - 0x388], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x384], edx
adc dword [ebp - 0x384], edi
mov edi, dword [esi + 0x500]
imul dword [ebx + 0x400]
mov dword [ebp - 0x548], eax
mov eax, dword [ebp - 0x388]
add dword [ebp - 0x548], eax
mov eax, dword [ebx + 0x500]
mov dword [ebp - 0x544], edx
mov edx, dword [ebp - 0x384]
adc dword [ebp - 0x544], edx
imul edi
mov dword [ebp - 0x390], eax
mov ecx, dword [ebp - 0x548]
mov dword [ebp - 0x38c], edx
mov edi, dword [esi + 0x600]
mov ebx, dword [ebp - 0x544]
add dword [ebp - 0x390], ecx
mov ecx, dword [ebp + 0x10]
mov eax, edi
adc dword [ebp - 0x38c], ebx
mov ebx, dword [esi + 0x700]
mov esi, dword [ebp - 0x9c]
imul dword [ecx + 0x600]
mov dword [ebp - 0x548], eax
mov eax, dword [ebp - 0x390]
add dword [ebp - 0x548], eax
mov eax, dword [ecx + 0x700]
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x544], edx
mov edx, dword [ebp - 0x38c]
mov edi, dword [ebp - 0x548]
adc dword [ebp - 0x544], edx
imul ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x544]
add dword [ebp - 0x398], edi
mov dword [ebp - 0x394], edx
adc dword [ebp - 0x394], eax
mov eax, dword [ecx + 0xc0]
add esi, 0xc0
imul dword [ebx + 0x80]
sub dword [ebp - 0x398], eax
mov eax, dword [esi + 0x100]
sbb dword [ebp - 0x394], edx
imul dword [ebx + 0x180]
sub dword [ebp - 0x398], eax
mov eax, dword [esi + 0x200]
sbb dword [ebp - 0x394], edx
imul dword [ebx + 0x280]
sub dword [ebp - 0x398], eax
mov eax, dword [esi + 0x300]
sbb dword [ebp - 0x394], edx
imul dword [ebx + 0x380]
sub dword [ebp - 0x398], eax
mov eax, dword [esi + 0x400]
sbb dword [ebp - 0x394], edx
imul dword [ebx + 0x480]
sub dword [ebp - 0x398], eax
mov eax, dword [esi + 0x500]
sbb dword [ebp - 0x394], edx
imul dword [ebx + 0x580]
sub dword [ebp - 0x398], eax
mov eax, dword [esi + 0x600]
sbb dword [ebp - 0x394], edx
imul dword [ebx + 0x680]
sub dword [ebp - 0x398], eax
mov eax, dword [esi + 0x700]
sbb dword [ebp - 0x394], edx
imul dword [ebx + 0x780]
sub dword [ebp - 0x398], eax
mov eax, 0xffff8000
mov edi, dword [ebp - 0x398]
sbb dword [ebp - 0x394], edx
xor ebx, ebx
mov ecx, dword [ebp - 0x398]
mov edx, dword [ebp - 0x394]
and ecx, 0xffffff
mov esi, ecx
shrd edi, edx, 0x18
mov dword [ebp - 0x39c], edi
mov edi, ebx
cmp dword [ebp - 0x39c], 0xffff8000
jl 0x4fec04
cmp dword [ebp - 0x39c], 0x7fff
jle 0x4fec0a
mov eax, 0x7fff
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x39c]
lea edx, [eax + ecx*2]
mov ecx, dword [ebp + 0x10]
mov word [eax], bx
mov ebx, 1
add ecx, 4
mov dword [ebp - 0x52c], edx
mov dword [ebp - 0x528], ebx
jmp 0x4fecc7
mov eax, 0xffff8000
add esi, dword [ebp - 0x538]
mov edx, dword [ebp - 0x52c]
mov ebx, dword [ebp + 0x1c]
adc edi, dword [ebp - 0x534]
mov word [edx], ax
lea eax, [edx + ebx*2]
mov dword [ebp - 0x52c], eax
mov eax, esi
and esi, 0xffffff
shrd eax, edi, 0x18
xor edi, edi
cmp eax, 0xffff8000
mov dword [ebp - 0x3d8], esi
mov esi, dword [ebp - 0x3d8]
mov dword [ebp - 0x3d4], edi
mov edi, dword [ebp - 0x3d4]
jge 0x4ff130
mov eax, 0xffff8000
inc dword [ebp - 0x528]
add ecx, 4
mov edx, dword [ebp - 0xa8]
sub dword [ebp - 0xa0], 4
mov word [edx], ax
mov eax, dword [ebp + 0x1c]
add eax, eax
sub edx, eax
cmp dword [ebp - 0x528], 0xf
mov dword [ebp - 0xa8], edx
jg 0x4ff145
mov edx, dword [ebp - 0x528]
mov ebx, dword [ebp - 0x9c]
shl edx, 2
mov dword [ebp - 0x3a0], edx
mov eax, edx
add eax, ebx
lea ebx, [eax + 0x40]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x3a4], eax
imul dword [ecx]
mov dword [ebp - 0x548], eax
mov eax, dword [ebp - 0x3a4]
add dword [ebp - 0x548], esi
mov esi, dword [ebp - 0xa0]
mov dword [ebp - 0x544], edx
adc dword [ebp - 0x544], edi
mov edi, dword [ebp - 0xa0]
imul dword [esi]
mov esi, dword [ebx + 0x100]
neg eax
mov dword [ebp - 0x538], eax
mov eax, dword [ecx + 0x100]
adc edx, 0
neg edx
mov dword [ebp - 0x534], edx
imul esi
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp - 0x548]
add dword [ebp - 0x3b0], eax
mov eax, dword [edi + 0x100]
mov dword [ebp - 0x3ac], edx
mov edx, dword [ebp - 0x544]
adc dword [ebp - 0x3ac], edx
imul esi
sub dword [ebp - 0x538], eax
sbb dword [ebp - 0x534], edx
mov eax, dword [ebx + 0x200]
mov esi, dword [ebp - 0xa0]
mov dword [ebp - 0x548], eax
imul dword [ecx + 0x200]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x3b0]
add dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0x54c], edx
mov edx, dword [ebp - 0x3ac]
mov edi, dword [ebp - 0x550]
adc dword [ebp - 0x54c], edx
imul dword [esi + 0x200]
mov esi, dword [ebp - 0xa0]
sub dword [ebp - 0x538], eax
mov eax, dword [ebx + 0x300]
sbb dword [ebp - 0x534], edx
mov dword [ebp - 0x548], eax
imul dword [ecx + 0x300]
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x54c]
add dword [ebp - 0x3b8], edi
mov dword [ebp - 0x3b4], edx
adc dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x548]
imul dword [esi + 0x300]
sub dword [ebp - 0x538], eax
mov eax, dword [ebx + 0x400]
mov esi, dword [ebp - 0xa0]
sbb dword [ebp - 0x534], edx
mov edi, dword [ebp - 0x3b4]
mov dword [ebp - 0x548], eax
imul dword [ecx + 0x400]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0x54c], edx
mov edx, dword [ebp - 0x3b8]
add dword [ebp - 0x550], edx
adc dword [ebp - 0x54c], edi
imul dword [esi + 0x400]
sub dword [ebp - 0x538], eax
mov eax, dword [ebx + 0x500]
sbb dword [ebp - 0x534], edx
mov dword [ebp - 0x548], eax
imul dword [ecx + 0x500]
mov dword [ebp - 0x3c0], eax
mov eax, dword [ebp - 0x550]
add dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3bc], edx
mov edx, dword [ebp - 0x54c]
adc dword [ebp - 0x3bc], edx
mov edi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x548]
mov esi, dword [ebp - 0x3c0]
imul dword [edi + 0x500]
mov edi, dword [ebp - 0xa0]
sub dword [ebp - 0x538], eax
mov eax, dword [ebx + 0x600]
sbb dword [ebp - 0x534], edx
mov dword [ebp - 0x548], eax
imul dword [ecx + 0x600]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x3bc]
add dword [ebp - 0x550], esi
mov dword [ebp - 0x54c], edx
adc dword [ebp - 0x54c], eax
mov eax, dword [ebp - 0x548]
imul dword [edi + 0x600]
sub dword [ebp - 0x538], eax
mov eax, dword [ebx + 0x700]
sbb dword [ebp - 0x534], edx
mov dword [ebp - 0x548], eax
imul dword [ecx + 0x700]
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0x3c4], edx
mov ebx, dword [ebp - 0x550]
mov edx, dword [ebp - 0x54c]
add dword [ebp - 0x3c8], ebx
mov ebx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x548]
adc dword [ebp - 0x3c4], edx
imul dword [ebx + 0x700]
sub dword [ebp - 0x538], eax
mov eax, dword [ebp - 0x3a0]
sbb dword [ebp - 0x534], edx
mov edx, dword [ebp - 0x9c]
sub edx, eax
mov esi, dword [edx + 0xc0]
lea edi, [edx + 0xc0]
mov eax, dword [ecx + 0x80]
imul esi
sub dword [ebp - 0x3c8], eax
mov eax, dword [ebx + 0x80]
sbb dword [ebp - 0x3c4], edx
imul esi
mov esi, dword [edi + 0x100]
sub dword [ebp - 0x538], eax
mov eax, dword [ecx + 0x180]
sbb dword [ebp - 0x534], edx
imul esi
sub dword [ebp - 0x3c8], eax
sbb dword [ebp - 0x3c4], edx
mov eax, dword [ebx + 0x180]
imul esi
mov esi, dword [edi + 0x200]
sub dword [ebp - 0x538], eax
mov eax, dword [ecx + 0x280]
sbb dword [ebp - 0x534], edx
imul esi
sub dword [ebp - 0x3c8], eax
mov eax, dword [ebx + 0x280]
sbb dword [ebp - 0x3c4], edx
imul esi
mov esi, dword [edi + 0x300]
sub dword [ebp - 0x538], eax
mov eax, dword [ecx + 0x380]
sbb dword [ebp - 0x534], edx
imul esi
sub dword [ebp - 0x3c8], eax
mov eax, dword [ebx + 0x380]
sbb dword [ebp - 0x3c4], edx
imul esi
mov esi, dword [edi + 0x400]
sub dword [ebp - 0x538], eax
mov eax, dword [ecx + 0x480]
sbb dword [ebp - 0x534], edx
imul esi
sub dword [ebp - 0x3c8], eax
mov eax, dword [ebx + 0x480]
sbb dword [ebp - 0x3c4], edx
imul esi
mov esi, dword [edi + 0x500]
sub dword [ebp - 0x538], eax
mov eax, dword [ecx + 0x580]
sbb dword [ebp - 0x534], edx
imul esi
sub dword [ebp - 0x3c8], eax
mov eax, dword [ebx + 0x580]
sbb dword [ebp - 0x3c4], edx
imul esi
mov esi, dword [edi + 0x600]
sub dword [ebp - 0x538], eax
mov eax, dword [ecx + 0x680]
sbb dword [ebp - 0x534], edx
imul esi
sub dword [ebp - 0x3c8], eax
mov eax, dword [ebx + 0x680]
sbb dword [ebp - 0x3c4], edx
imul esi
sub dword [ebp - 0x538], eax
sbb dword [ebp - 0x534], edx
mov esi, dword [edi + 0x700]
mov eax, dword [ecx + 0x780]
imul esi
sub dword [ebp - 0x3c8], eax
mov eax, dword [ebx + 0x780]
sbb dword [ebp - 0x3c4], edx
imul esi
mov edi, dword [ebp - 0x3c4]
mov esi, eax
mov eax, dword [ebp - 0x3c8]
sub dword [ebp - 0x538], esi
mov esi, dword [ebp - 0x3c8]
sbb dword [ebp - 0x534], edx
and esi, 0xffffff
shrd eax, edi, 0x18
xor edi, edi
cmp eax, 0xffff8000
jl 0x4fec38
cmp eax, 0x7fff
jle 0x4fec3d
mov eax, 0x7fff
jmp 0x4fec3d
cmp eax, 0x7fff
jle 0x4fec94
mov eax, 0x7fff
jmp 0x4fec94
mov edx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x3d8]
mov eax, dword [edx + 0x80]
mov esi, dword [ebp - 0x3d4]
sub edi, 0xffffff80
imul dword [ecx + 0x80]
sub ebx, eax
mov eax, dword [ecx + 0x180]
sbb esi, edx
mov dword [ebp - 0x544], esi
mov esi, dword [edi + 0x100]
mov dword [ebp - 0x548], ebx
mov ebx, dword [edi + 0x200]
imul esi
mov esi, dword [edi + 0x300]
sub dword [ebp - 0x548], eax
mov eax, dword [ecx + 0x280]
sbb dword [ebp - 0x544], edx
imul ebx
mov ebx, dword [edi + 0x400]
sub dword [ebp - 0x548], eax
mov eax, dword [ecx + 0x380]
sbb dword [ebp - 0x544], edx
imul esi
sub dword [ebp - 0x548], eax
mov eax, dword [ecx + 0x480]
sbb dword [ebp - 0x544], edx
imul ebx
sub dword [ebp - 0x548], eax
sbb dword [ebp - 0x544], edx
mov esi, dword [edi + 0x500]
mov eax, dword [ecx + 0x580]
mov ebx, dword [edi + 0x600]
imul esi
mov esi, dword [edi + 0x700]
sub dword [ebp - 0x548], eax
mov eax, dword [ecx + 0x680]
sbb dword [ebp - 0x544], edx
imul ebx
sub dword [ebp - 0x548], eax
mov eax, dword [ecx + 0x780]
sbb dword [ebp - 0x544], edx
imul esi
sub dword [ebp - 0x548], eax
mov esi, dword [ebp - 0x548]
sbb dword [ebp - 0x544], edx
mov ecx, dword [ebp - 0x544]
shrd esi, ecx, 0x18
mov ecx, esi
mov esi, dword [ebp - 0x548]
and esi, 0xffffff
cmp ecx, 0xffff8000
jge 0x4ff289
mov ecx, 0xffff8000
mov ebx, dword [ebp - 0x52c]
mov eax, dword [ebp - 0xa4]
mov edi, dword [ebp + 0x14]
mov word [ebx], cx
mov ecx, dword [ebp + 0xc]
sub eax, 0x20
mov dword [edi], esi
and eax, 0x1ff
mov dword [ecx], eax
add esp, 0x55c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ecx, 0x7fff
jle 0x4ff25d
mov ecx, 0x7fff
jmp 0x4ff25d