Function at 0x4b9c00
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0xc6c
lea eax, [esp + 0x460]
mov dword [esp + 4], edx
mov dword [esp + 0x458], ecx
mov dword [esp], eax
call fcn.004b90a0
lea eax, [esp + 0x460]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004b90e0
lea eax, [esp + 0x460]
mov dword [esp + 4], eax
lea eax, [esp + 0x860]
mov dword [esp], eax
call fcn.004b90a0
mov ebp, dword [esp + 0xc80]
test ebp, ebp
jne 0x4bc2a0
lea eax, [esp + 0x460]
mov dword [esp + 0x45c], eax
mov ebp, eax
mov ebx, dword [ebp]
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x114], 0
mov eax, ebx
mov ecx, esi
mul esi
mov ebx, edi
shld edx, eax, 1
add eax, eax
add ecx, dword [ebp]
adc ebx, dword [ebp + 4]
add eax, ecx
mov ecx, dword [ebp + 0x40]
adc edx, ebx
mov ebx, dword [ebp + 0x64]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x110]
xor ebx, edx
mov dword [esp + 0x48], ebx
mov ebx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x114]
shld ebx, ecx, 1
add ecx, ecx
mov edx, ebx
imul edx, eax
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x90]
mul ecx
add ebx, edx
mov ecx, eax
mov eax, dword [esp + 0x48]
add eax, dword [ebp + 0x40]
mov edx, dword [esp + 0x4c]
adc edx, dword [ebp + 0x44]
add ecx, eax
adc ebx, edx
mov edx, esi
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ebx
xor edi, dword [esp + 0x94]
xor edx, ecx
mov dword [esp + 0x118], edx
mov esi, dword [esp + 0x118]
mov dword [esp + 0x11c], edi
mov edi, dword [esp + 0x11c]
mov ecx, esi
shrd esi, edi, 0x18
shrd edi, ecx, 0x18
mov ecx, dword [esp + 0xa0]
mov eax, esi
mov dword [esp + 0x124], 0
mov edx, edi
mov edi, dword [esp + 0x124]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0x134], 0
mov dword [esp + 0x120], ecx
mov esi, dword [esp + 0x120]
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, eax
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0xa0]
add edi, ebx
add eax, dword [esp + 0x98]
mov edx, dword [esp + 0xa4]
adc edx, dword [esp + 0x9c]
add esi, eax
mov eax, esi
mov ebx, esi
mov esi, dword [esp + 0x48]
adc edi, edx
mov dword [esp + 0x108], eax
mov edx, edi
mov edi, dword [esp + 0x4c]
xor ebx, esi
mov dword [esp + 0x10c], edx
mov dword [esp + 0x128], ebx
mov ebx, edx
mov esi, dword [esp + 0x128]
xor ebx, edi
mov dword [esp + 0x12c], ebx
mov edi, dword [esp + 0x12c]
mov ecx, esi
mov ebx, dword [esp + 0x90]
shrd esi, edi, 0x10
shrd edi, ecx, 0x10
mov eax, esi
mov dword [esp + 0x130], ebx
mov esi, dword [esp + 0x130]
mov edx, edi
mov edi, dword [esp + 0x134]
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], edx
shld edi, esi, 1
add esi, esi
mov ebx, edi
imul ebx, eax
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x90]
add edi, ebx
add eax, dword [esp + 0x100]
mov edx, dword [esp + 0x94]
adc edx, dword [esp + 0x104]
add esi, eax
adc edi, edx
mov edx, dword [esp + 0x98]
mov ebx, esi
mov ecx, dword [esp + 0x9c]
mov esi, edi
mov edi, ebx
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], ebx
xor edi, edx
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x28]
mov dword [esp + 0x138], edi
mov edi, ecx
xor edi, dword [esp + 0xd4]
mov edx, dword [esp + 0x138]
mov dword [esp + 0x144], 0
mov eax, ebx
mov dword [esp + 0x13c], edi
mov ecx, dword [esp + 0x13c]
mov edi, edx
shld edx, ecx, 1
shld ecx, edi, 1
mov dword [esp + 0xc8], edx
mov edi, dword [ebp + 0x2c]
mul esi
mov dword [esp + 0xcc], ecx
mov ebx, edx
mov ecx, eax
shld ebx, eax, 1
add ecx, eax
mov eax, ecx
mov ecx, esi
add ecx, dword [ebp + 8]
mov edx, ebx
mov ebx, edi
adc ebx, dword [ebp + 0xc]
add eax, ecx
mov ecx, dword [esp + 0x144]
adc edx, ebx
mov dword [esp + 0x98], eax
mov ebx, edx
mov edx, dword [ebp + 0x6c]
mov dword [esp + 0x9c], ebx
xor edx, ebx
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 0x68]
xor edx, eax
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0x48]
mov dword [esp + 0x140], edx
mov edx, dword [esp + 0x140]
shld ecx, edx, 1
add edx, edx
mov ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x40]
mov eax, edx
mov edx, ebx
imul edx, eax
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x90]
mul ecx
add ebx, edx
mov ecx, eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
add eax, dword [ebp + 0x48]
adc edx, dword [ebp + 0x4c]
mov dword [esp + 0x154], 0
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x164], 0
add ecx, eax
adc ebx, edx
mov edx, esi
mov dword [esp + 0x160], ecx
xor edx, ecx
xor edi, ebx
mov dword [esp + 0x148], edx
mov esi, dword [esp + 0x148]
mov dword [esp + 0x14c], edi
mov edi, dword [esp + 0x14c]
mov edx, esi
shrd esi, edi, 0x18
shrd edi, edx, 0x18
mov eax, esi
mov edx, edi
mov edi, dword [esp + 0x98]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x150], edi
mov edi, dword [esp + 0x154]
mov esi, dword [esp + 0x150]
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, eax
mov ebp, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x98]
add edi, ebp
add eax, dword [esp + 0x90]
mov edx, dword [esp + 0x9c]
adc edx, dword [esp + 0x94]
add esi, eax
mov eax, dword [esp + 0x40]
adc edi, edx
mov edx, dword [esp + 0x44]
mov ebp, esi
mov dword [esp + 0xfc], edi
mov dword [esp + 0xf8], esi
xor ebp, eax
mov esi, dword [esp + 0x160]
xor edi, edx
mov dword [esp + 0x158], ebp
mov eax, dword [esp + 0x158]
mov dword [esp + 0x15c], edi
mov edx, dword [esp + 0x15c]
mov edi, eax
shrd eax, edx, 0x10
shrd edx, edi, 0x10
mov edi, dword [esp + 0x164]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], edx
shld edi, esi, 1
add esi, esi
mov ebp, edi
mov edi, ecx
imul ebp, eax
mul esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0x9c], edx
add dword [esp + 0x9c], ebp
mov ebp, ebx
add edi, dword [esp + 0xf0]
mov dword [esp + 0x98], eax
adc ebp, dword [esp + 0xf4]
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
add ecx, edi
mov edi, dword [esp + 0x94]
adc ebx, ebp
mov edx, ecx
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0xc4], ebx
xor edi, dword [esp + 0xc4]
xor edx, esi
mov dword [esp + 0x168], edx
mov esi, dword [esp + 0x168]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x16c], edi
mov edi, dword [esp + 0x16c]
mov edx, esi
mov eax, ebx
shld esi, edi, 1
shld edi, edx, 1
mov dword [esp + 0xb8], esi
mov esi, dword [ebp + 0x30]
mov dword [esp + 0xbc], edi
mov edi, dword [ebp + 0x34]
mul esi
mov ecx, eax
mov ebx, edx
shld ebx, eax, 1
add ecx, eax
mov eax, ecx
mov ecx, esi
add ecx, dword [ebp + 0x10]
mov edx, ebx
mov ebx, edi
adc ebx, dword [ebp + 0x14]
add eax, ecx
adc edx, ebx
mov ecx, edx
mov edx, eax
mov eax, dword [ebp + 0x74]
xor eax, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov ecx, dword [ebp + 0x70]
mov dword [esp + 0x174], 0
mov ebx, dword [esp + 0x174]
mov dword [esp + 0xd8], ebp
mov dword [esp + 0x184], 0
xor ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebp + 0x50]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x170]
shld ebx, ecx, 1
add ecx, ecx
mov edx, ebx
imul edx, eax
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x90]
mul ecx
add ebx, edx
mov ecx, eax
mov eax, dword [esp + 0x38]
add eax, dword [ebp + 0x50]
mov edx, dword [esp + 0x3c]
adc edx, dword [ebp + 0x54]
mov ebp, esi
add ecx, eax
adc ebx, edx
xor ebp, ecx
xor edi, ebx
mov dword [esp + 0x178], ebp
mov esi, dword [esp + 0x178]
mov dword [esp + 0x17c], edi
mov edi, dword [esp + 0x17c]
mov ebp, esi
shrd esi, edi, 0x18
shrd edi, ebp, 0x18
mov eax, esi
mov edx, edi
mov edi, dword [esp + 0x98]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x180], edi
mov edi, dword [esp + 0x184]
mov esi, dword [esp + 0x180]
shld edi, esi, 1
add esi, esi
mov ebp, edi
imul ebp, eax
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x98]
add edi, ebp
add eax, dword [esp + 0x90]
mov edx, dword [esp + 0x9c]
adc edx, dword [esp + 0x94]
add esi, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x190], ecx
adc edi, edx
mov edx, dword [esp + 0x3c]
mov ebp, esi
mov dword [esp + 0xec], edi
mov dword [esp + 0xe8], esi
xor ebp, eax
mov esi, dword [esp + 0x190]
mov dword [esp + 0x194], 0
xor edi, edx
mov dword [esp + 0x188], ebp
mov eax, dword [esp + 0x188]
mov dword [esp + 0x18c], edi
mov edx, dword [esp + 0x18c]
mov edi, eax
shrd eax, edx, 0x10
shrd edx, edi, 0x10
mov edi, dword [esp + 0x194]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], edx
shld edi, esi, 1
add esi, esi
mov ebp, edi
mov edi, ecx
imul ebp, eax
mul esi
mov dword [esp + 0x9c], edx
add dword [esp + 0x9c], ebp
mov ebp, ebx
add edi, dword [esp + 0xe0]
mov dword [esp + 0x98], eax
adc ebp, dword [esp + 0xe4]
mov ebx, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
add ebx, edi
adc esi, ebp
mov edx, ebx
mov edi, ebx
mov ebx, dword [esp + 0x90]
mov ecx, esi
mov esi, dword [esp + 0x94]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], edx
xor edi, ebx
mov dword [esp + 0x198], edi
mov edi, esi
xor edi, dword [esp + 0xac]
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x19c], edi
mov ebx, dword [esp + 0x19c]
mov edi, ecx
shld ecx, ebx, 1
shld ebx, edi, 1
mov dword [esp + 0xb0], ecx
mov ebp, dword [esp + 0xd8]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x1a4], 0
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x38]
mov edi, dword [ebp + 0x3c]
mov dword [esp + 0x454], ebp
mov eax, ecx
mul esi
mov ecx, eax
mov ebx, edx
shld ebx, eax, 1
add ecx, eax
mov eax, ecx
mov ecx, esi
add ecx, dword [ebp + 0x18]
mov edx, ebx
mov ebx, edi
adc ebx, dword [ebp + 0x1c]
add eax, ecx
adc edx, ebx
mov ebx, dword [ebp + 0x78]
mov ecx, eax
mov dword [esp + 0x98], ecx
mov eax, dword [ebp + 0x7c]
mov dword [esp + 0x9c], edx
xor ebx, ecx
mov dword [esp + 0x34], ebx
mov ebx, dword [ebp + 0x58]
xor eax, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a0]
shld ebx, ecx, 1
add ecx, ecx
mov edx, ebx
imul edx, eax
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x90]
mul ecx
add ebx, edx
mov ecx, eax
mov eax, dword [esp + 0x30]
add eax, dword [ebp + 0x58]
mov edx, dword [esp + 0x34]
adc edx, dword [ebp + 0x5c]
add ecx, eax
adc ebx, edx
mov edx, esi
xor edx, ecx
xor edi, ebx
mov dword [esp + 0x1a8], edx
mov esi, dword [esp + 0x1a8]
mov dword [esp + 0x1ac], edi
mov edi, dword [esp + 0x1ac]
mov ebp, esi
shrd esi, edi, 0x18
shrd edi, ebp, 0x18
mov eax, esi
mov edx, edi
mov edi, dword [esp + 0x98]
mov dword [esp + 0x1b0], edi
mov esi, dword [esp + 0x1b0]
mov dword [esp + 0x1b4], 0
mov edi, dword [esp + 0x1b4]
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c4], 0
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, eax
mov dword [esp + 0xa0], edx
mov edi, dword [esp + 0xa0]
mul esi
add edi, edx
mov esi, eax
mov eax, dword [esp + 0x98]
add eax, dword [esp + 0x90]
mov edx, dword [esp + 0x9c]
adc edx, dword [esp + 0x94]
add esi, eax
mov eax, dword [esp + 0x30]
adc edi, edx
mov edx, dword [esp + 0x34]
mov ebp, esi
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], edi
xor ebp, eax
xor edi, edx
mov dword [esp + 0x1b8], ebp
mov esi, dword [esp + 0x1b8]
mov dword [esp + 0x1bc], edi
mov edi, dword [esp + 0x1bc]
mov ebp, esi
shrd esi, edi, 0x10
shrd edi, ebp, 0x10
mov eax, esi
mov esi, dword [esp + 0x1c0]
mov edx, edi
mov edi, dword [esp + 0x1c4]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
shld edi, esi, 1
add esi, esi
mov ebp, edi
imul ebp, eax
mul esi
mov edi, edx
mov esi, eax
mov eax, ecx
add edi, ebp
add eax, dword [esp + 0xa0]
mov edx, ebx
adc edx, dword [esp + 0xa4]
mov ebx, esi
mov esi, edi
add ebx, eax
mov eax, dword [esp + 0x90]
adc esi, edx
mov edx, dword [esp + 0x94]
mov edi, eax
xor edi, ebx
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x90], ebx
mov edi, edx
mov dword [esp + 0x94], esi
xor edi, dword [esp + 0x94]
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 0x1d4], 0
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1cc], edi
mov ebx, dword [esp + 0x1cc]
mov edi, ecx
mov eax, ebp
shld ecx, ebx, 1
shld ebx, edi, 1
mov edi, dword [esp + 0x108]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x1d4]
mov dword [esp + 0x1d0], edi
mov ecx, dword [esp + 0x1d0]
shld ebx, ecx, 1
add ecx, ecx
mul ecx
mov edi, ebx
imul edi, ebp
mov ebx, edx
mov ecx, eax
mov eax, dword [esp + 0x108]
add ebx, edi
add eax, dword [esp + 0xb8]
mov edx, dword [esp + 0x10c]
adc edx, dword [esp + 0xbc]
mov edi, esi
add ecx, eax
adc ebx, edx
mov edx, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xa0], edx
xor edi, ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x20], edi
mov ebp, dword [esp + 0x20]
mov edi, ebx
xor edi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x1dc]
mov eax, ebp
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x1d8], edi
mov ecx, dword [esp + 0x1d8]
shld ebx, ecx, 1
add ecx, ecx
mul ecx
mov edi, ebx
imul edi, ebp
mov ebx, edx
mov ecx, eax
mov eax, dword [esp + 0xa8]
add ebx, edi
mov edx, dword [esp + 0xac]
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x1ec], 0
add ecx, eax
adc ebx, edx
mov ebp, ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ebx
xor edi, dword [esp + 0xac]
xor ebp, esi
mov dword [esp + 0x1e0], ebp
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x1e4], edi
mov edx, dword [esp + 0x1e4]
mov edi, eax
shrd eax, edx, 0x18
shrd edx, edi, 0x18
mov edi, dword [esp + 0xa0]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
mov dword [esp + 0x1e8], edi
mov edi, dword [esp + 0x1ec]
mov esi, dword [esp + 0x1e8]
shld edi, esi, 1
add esi, esi
mov ebp, edi
imul ebp, eax
mul esi
mov edi, edx
mov edx, dword [esp + 0xa0]
mov esi, eax
add edi, ebp
add edx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x454]
adc ecx, dword [esp + 0xbc]
mov eax, edx
add eax, esi
mov edx, ecx
mov esi, dword [esp + 0x24]
adc edx, edi
mov edi, ebx
mov dword [ebp], eax
xor edi, eax
mov dword [ebp + 4], edx
mov dword [esp + 0x1f0], edi
mov edi, edx
xor edi, esi
mov dword [esp + 0x1f4], edi
mov ecx, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x1f4]
mov dword [esp + 0x1fc], 0
mov edx, dword [esp + 0x1fc]
mov dword [esp + 0x20c], 0
mov edi, ecx
shrd ecx, ebx, 0x10
shrd ebx, edi, 0x10
mov edi, dword [esp + 0xa8]
mov dword [ebp + 0x78], ecx
mov dword [ebp + 0x7c], ebx
mov dword [esp + 0x1f8], edi
mov eax, dword [esp + 0x1f8]
shld edx, eax, 1
add eax, eax
mov esi, edx
imul esi, ecx
mul ecx
add edx, esi
add ecx, dword [esp + 0xa8]
adc ebx, dword [esp + 0xac]
add ecx, eax
mov eax, dword [esp + 0xb8]
adc ebx, edx
mov edx, dword [esp + 0xbc]
mov dword [ebp + 0x50], ecx
mov dword [ebp + 0x54], ebx
mov edi, eax
xor edi, ecx
mov dword [esp + 0x200], edi
mov edi, ebx
mov eax, dword [esp + 0x200]
xor edi, edx
mov dword [esp + 0x204], edi
mov edx, dword [esp + 0x204]
mov edi, eax
shld eax, edx, 1
shld edx, edi, 1
mov edi, dword [esp + 0xf8]
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x208], edi
mov edi, dword [esp + 0x20c]
mov esi, dword [esp + 0x208]
mov eax, edx
shld edi, esi, 1
add esi, esi
mov ecx, esi
imul edi, edx
mul ecx
mov ebx, edx
mov ecx, eax
mov eax, dword [esp + 0xf8]
add ebx, edi
add eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xfc]
adc edx, dword [esp + 0xb4]
mov esi, dword [esp + 0x104]
mov dword [esp + 0x214], 0
mov dword [esp + 0x224], 0
add ecx, eax
adc ebx, edx
mov edx, ecx
mov edi, ebx
mov ecx, ebx
mov ebx, dword [esp + 0x100]
xor edi, esi
mov dword [esp + 0xa0], edx
mov esi, dword [esp + 0x214]
mov dword [esp + 0x28], edi
mov edx, dword [esp + 0x28]
mov edi, ebx
xor edi, dword [esp + 0xa0]
mov dword [esp + 0xa4], ecx
mov eax, edx
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x90]
mov dword [esp + 0x210], edi
mov ebx, dword [esp + 0x210]
shld esi, ebx, 1
add ebx, ebx
mov ecx, ebx
mov edi, esi
imul edi, edx
mul ecx
mov ebx, edx
mov ecx, eax
mov eax, dword [esp + 0x90]
add ebx, edi
add eax, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
mov esi, ebx
adc edx, dword [esp + 0x2c]
mov ebx, ecx
mov ecx, dword [esp + 0xb0]
add ebx, eax
mov eax, ebx
mov edi, ebx
mov ebx, dword [esp + 0xb4]
adc esi, edx
xor edi, ecx
mov dword [esp + 0x90], eax
mov dword [esp + 0x218], edi
mov dword [esp + 0x94], esi
mov edi, ebx
xor edi, dword [esp + 0x94]
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x21c], edi
mov ebx, dword [esp + 0x21c]
mov edi, ecx
shrd ecx, ebx, 0x18
shrd ebx, edi, 0x18
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x220], edi
mov eax, dword [esp + 0x220]
mov edx, dword [esp + 0x224]
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x234], 0
shld edx, eax, 1
add eax, eax
mov edi, edx
mov edx, ecx
mov esi, eax
mov eax, edx
mov ebx, edi
mul esi
imul ebx, ecx
mov ecx, dword [esp + 0xa4]
mov edi, edx
mov edx, dword [esp + 0xa0]
mov esi, eax
add edi, ebx
add edx, dword [esp + 0xa8]
adc ecx, dword [esp + 0xac]
mov eax, edx
add eax, esi
mov esi, dword [esp + 0x28]
mov edx, ecx
adc edx, edi
mov edi, dword [esp + 0x2c]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
mov ebx, esi
xor ebx, eax
mov dword [esp + 0x228], ebx
mov ebx, edx
mov ecx, dword [esp + 0x228]
xor ebx, edi
mov edx, dword [esp + 0x234]
mov dword [esp + 0x22c], ebx
mov ebx, dword [esp + 0x22c]
mov edi, ecx
shrd ecx, ebx, 0x10
shrd ebx, edi, 0x10
mov edi, dword [esp + 0x90]
mov dword [ebp + 0x60], ecx
mov dword [ebp + 0x64], ebx
mov dword [esp + 0x230], edi
mov eax, dword [esp + 0x230]
shld edx, eax, 1
add eax, eax
mov esi, edx
imul esi, ecx
mul ecx
add edx, esi
add ecx, dword [esp + 0x90]
mov esi, dword [esp + 0xac]
adc ebx, dword [esp + 0x94]
add eax, ecx
adc edx, ebx
mov ebx, dword [esp + 0xa8]
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x5c], edx
mov edi, ebx
xor edi, eax
mov dword [esp + 0x238], edi
mov edi, edx
xor edi, esi
mov dword [esp + 0x23c], edi
mov eax, dword [esp + 0x238]
mov edx, dword [esp + 0x23c]
mov dword [esp + 0x244], 0
mov ebx, dword [esp + 0x244]
mov esi, dword [esp + 0xf4]
mov edi, eax
mov dword [esp + 0x24c], 0
shld eax, edx, 1
shld edx, edi, 1
mov edi, dword [esp + 0xe8]
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x240], edi
mov ecx, dword [esp + 0x240]
mov eax, edx
shld ebx, ecx, 1
add ecx, ecx
mov edi, ebx
imul edi, edx
mul ecx
mov ebx, edx
mov ecx, eax
mov eax, dword [esp + 0xe8]
add ebx, edi
add eax, dword [esp + 0x98]
mov edx, dword [esp + 0xec]
adc edx, dword [esp + 0x9c]
add ecx, eax
adc ebx, edx
mov edx, ecx
mov edi, ebx
mov ecx, ebx
mov ebx, dword [esp + 0xf0]
xor edi, esi
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x10]
mov edi, ebx
xor edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x24c]
mov eax, edx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x248], edi
mov ecx, dword [esp + 0x248]
shld ebx, ecx, 1
add ecx, ecx
mov edi, ebx
imul edi, edx
mul ecx
mov ebx, edx
mov ecx, eax
mov eax, dword [esp + 0xd0]
add ebx, edi
add eax, dword [esp + 0x10]
mov edx, dword [esp + 0xd4]
adc edx, dword [esp + 0x14]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x25c], 0
add ecx, eax
adc ebx, edx
mov edi, ecx
mov edx, ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
xor edi, ebx
mov dword [esp + 0x250], edi
mov edi, esi
xor edi, dword [esp + 0x9c]
mov ebx, dword [esp + 0x250]
mov dword [esp + 0x254], edi
mov esi, dword [esp + 0x254]
mov edi, ebx
shrd ebx, esi, 0x18
shrd esi, edi, 0x18
mov edi, dword [esp + 0x90]
mov ecx, ebx
mov ebx, esi
mov edx, ecx
mov dword [esp + 0xa0], ecx
mov eax, edx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x258], edi
mov edi, dword [esp + 0x25c]
mov esi, dword [esp + 0x258]
shld edi, esi, 1
add esi, esi
mul esi
mov ebx, edi
imul ebx, ecx
mov ecx, dword [esp + 0x94]
mov edi, edx
mov edx, dword [esp + 0x90]
mov esi, eax
add edi, ebx
add edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x10]
adc ecx, dword [esp + 0xa4]
mov eax, edx
add eax, esi
mov edx, ecx
mov esi, dword [esp + 0x14]
adc edx, edi
mov edi, ebx
mov dword [ebp + 0x10], eax
xor edi, eax
mov dword [ebp + 0x14], edx
mov dword [esp + 0x260], edi
mov edi, edx
mov ebx, dword [esp + 0x260]
xor edi, esi
mov dword [esp + 0x264], edi
mov esi, dword [esp + 0x264]
mov edi, ebx
shrd ebx, esi, 0x10
shrd esi, edi, 0x10
mov ecx, ebx
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x6c], esi
mov ebx, esi
mov edi, dword [esp + 0x98]
mov dword [esp + 0x26c], 0
mov edx, dword [esp + 0x26c]
mov dword [esp + 0x27c], 0
mov dword [esp + 0x268], edi
mov eax, dword [esp + 0x268]
mov edi, dword [esp + 0xa4]
shld edx, eax, 1
add eax, eax
mov esi, edx
imul esi, ecx
mul ecx
add edx, esi
add ecx, dword [esp + 0x98]
mov esi, dword [esp + 0xa0]
adc ebx, dword [esp + 0x9c]
add ecx, eax
mov eax, esi
adc ebx, edx
xor eax, ecx
mov dword [ebp + 0x40], ecx
mov dword [ebp + 0x44], ebx
xor ebx, edi
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], ebx
mov ebx, dword [esp + 0x270]
mov esi, dword [esp + 0x274]
mov edi, ebx
shld ebx, esi, 1
shld esi, edi, 1
mov dword [ebp + 0x38], ebx
mov ebx, dword [esp + 0xd8]
mov dword [ebp + 0x3c], esi
mov edi, dword [esp + 0x27c]
mov dword [esp + 0x278], ebx
mov esi, dword [esp + 0x278]
mov ebx, dword [esp + 0xc8]
shld edi, esi, 1
add esi, esi
mov eax, esi
mov ecx, edi
mul ebx
imul ecx, ebx
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0xd8]
add edi, ecx
add eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xdc]
adc edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xe4]
add esi, eax
adc edi, edx
mov edx, dword [esp + 0xe0]
mov ebx, esi
mov esi, edi
xor edi, ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x90], ebx
mov edi, edx
xor edi, dword [esp + 0x90]
mov dword [esp + 0x94], esi
mov dword [esp + 0x284], 0
mov dword [esp + 0x294], 0
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x280], edi
mov edi, dword [esp + 0x284]
mov esi, dword [esp + 0x280]
shld edi, esi, 1
add esi, esi
mov ebx, edi
mov edi, dword [esp + 0x18]
mov ecx, esi
mov esi, ebx
mov eax, edi
mul ecx
imul esi, edi
mov ebx, edx
mov ecx, eax
mov eax, dword [esp + 0xc0]
add ebx, esi
add eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc4]
adc edx, dword [esp + 0x1c]
mov esi, ecx
mov edi, ebx
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xcc]
add esi, eax
adc edi, edx
mov edx, esi
mov dword [esp + 0x98], esi
xor edx, ecx
mov dword [esp + 0x9c], edi
mov ecx, ebx
xor ecx, dword [esp + 0x9c]
mov dword [esp + 0x288], edx
mov edx, dword [esp + 0x294]
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0x288]
mov ebx, dword [esp + 0x28c]
mov edi, ecx
shrd ecx, ebx, 0x18
shrd ebx, edi, 0x18
mov edi, dword [esp + 0x90]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ebx
mov ebx, ecx
mov dword [esp + 0x290], edi
mov eax, dword [esp + 0x290]
shld edx, eax, 1
add eax, eax
imul edx, ecx
mov esi, eax
mov eax, ebx
mov ecx, edx
mul esi
mov edi, edx
mov esi, eax
mov edx, dword [esp + 0x94]
add edi, ecx
mov eax, dword [esp + 0x90]
add eax, dword [esp + 0xa0]
adc edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x2a4], 0
add eax, esi
mov esi, dword [esp + 0x1c]
adc edx, edi
mov edi, ebx
mov dword [ebp + 0x18], eax
xor edi, eax
mov dword [ebp + 0x1c], edx
mov dword [esp + 0x298], edi
mov edi, edx
mov ebx, dword [esp + 0x298]
xor edi, esi
mov edx, dword [esp + 0x2a4]
mov dword [esp + 0x29c], edi
mov esi, dword [esp + 0x29c]
mov edi, ebx
shrd ebx, esi, 0x10
shrd esi, edi, 0x10
mov edi, dword [esp + 0x98]
mov ecx, ebx
mov dword [ebp + 0x74], esi
mov ebx, esi
mov dword [ebp + 0x70], ecx
mov dword [esp + 0x2a0], edi
mov eax, dword [esp + 0x2a0]
shld edx, eax, 1
add eax, eax
mov esi, edx
imul esi, ecx
mul ecx
add edx, esi
add ecx, dword [esp + 0x98]
adc ebx, dword [esp + 0x9c]
add ecx, eax
mov eax, dword [esp + 0xa0]
adc ebx, edx
mov edx, dword [esp + 0xa4]
mov dword [ebp + 0x48], ecx
mov dword [ebp + 0x4c], ebx
sub ebp, 0xffffff80
mov edi, eax
xor edi, ecx
xor ebx, edx
mov dword [esp + 0x2a8], edi
mov dword [esp + 0x2ac], ebx
mov eax, dword [esp + 0x2a8]
mov edx, dword [esp + 0x2ac]
mov ecx, eax
shld eax, edx, 1
shld edx, ecx, 1
mov dword [ebp - 0x60], eax
lea eax, [esp + 0x860]
mov dword [ebp - 0x5c], edx
cmp ebp, eax
jne 0x4b9c72
lea eax, [esp + 0x4e0]
mov ecx, dword [esp + 0x45c]
mov dword [esp + 0xd0], eax
mov ebx, dword [ecx]
mov edi, dword [ecx + 0x100]
mov esi, dword [ecx + 0x100]
mov dword [esp + 0x2b4], 0
mov eax, ebx
mov ebx, dword [ecx + 0x304]
mul edi
mov edi, dword [ecx + 0x104]
shld edx, eax, 1
add eax, eax
add esi, dword [ecx]
adc edi, dword [ecx + 4]
add eax, esi
adc edx, edi
mov edi, dword [esp + 0x2b4]
mov dword [esp + 0x20], eax
xor ebx, edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x88], ebx
mov ebx, dword [ecx + 0x300]
mov ebp, dword [esp + 0x88]
xor ebx, eax
mov dword [esp + 0x8c], ebx
mov ebx, dword [ecx + 0x200]
mov eax, ebp
mov dword [esp + 0x2b0], ebx
mov esi, dword [esp + 0x2b0]
shld edi, esi, 1
add esi, esi
mul esi
mov ebx, edi
imul ebx, ebp
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x88]
add edi, ebx
add eax, dword [ecx + 0x200]
mov edx, dword [esp + 0x8c]
adc edx, dword [ecx + 0x204]
add esi, eax
adc edi, edx
mov edx, dword [ecx + 0x100]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
xor edi, dword [ecx + 0x104]
xor edx, esi
mov dword [esp + 0x2b8], edx
mov dword [esp + 0x2bc], edi
mov edi, dword [esp + 0x2b8]
mov ebp, dword [esp + 0x2bc]
mov edx, edi
shrd edi, ebp, 0x18
shrd ebp, edx, 0x18
mov eax, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x2c4], 0
mov edx, ebp
mov ebp, dword [esp + 0x2c4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x2d4], 0
mov dword [esp + 0x2c0], edi
mov edi, dword [esp + 0x2c0]
shld ebp, edi, 1
add edi, edi
mov esi, edi
mov edi, ebp
mov ebx, edi
imul ebx, eax
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x20]
add edi, ebx
add eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
adc edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x88]
mov ebp, edi
mov edi, esi
mov esi, dword [esp + 0x8c]
add edi, eax
adc ebp, edx
mov edx, edi
mov dword [esp + 0xc8], edi
xor edx, ebx
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x2c8], edx
mov edx, ebp
mov ebx, dword [esp + 0x2c8]
xor edx, esi
mov ebp, dword [esp + 0x2d4]
mov dword [esp + 0x2cc], edx
mov esi, dword [esp + 0x2cc]
mov edx, ebx
shrd ebx, esi, 0x10
shrd esi, edx, 0x10
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], esi
mov dword [esp + 0x2d0], edx
mov edi, dword [esp + 0x2d0]
shld ebp, edi, 1
add edi, edi
mov eax, edi
mov edi, ebx
mov ebx, ebp
mul edi
imul ebx, edi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x18]
add edi, ebx
add eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x1c]
adc edx, dword [esp + 0xc4]
add esi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2e4], 0
adc edi, edx
mov ebx, esi
mov edx, dword [esp + 0x14]
mov dword [esp + 0x94], edi
xor edx, dword [esp + 0x94]
mov ebp, ebx
xor ebp, eax
mov dword [esp + 0x90], ebx
mov dword [esp + 0x2d8], ebp
mov esi, dword [esp + 0x2d8]
mov ebp, dword [esp + 0x2e4]
mov dword [esp + 0x2dc], edx
mov edi, dword [esp + 0x2dc]
mov edx, esi
shld esi, edi, 1
shld edi, edx, 1
mov dword [esp + 0x48], esi
mov esi, dword [ecx + 0x108]
mov dword [esp + 0x4c], edi
mov edi, dword [ecx + 8]
mov eax, edi
mov edi, dword [ecx + 0x10c]
mul esi
mov esi, dword [ecx + 0x108]
shld edx, eax, 1
add eax, eax
add esi, dword [ecx + 8]
adc edi, dword [ecx + 0xc]
add eax, esi
adc edx, edi
mov dword [esp + 0x20], eax
mov edi, edx
mov edx, dword [ecx + 0x30c]
mov dword [esp + 0x24], edi
xor edx, edi
mov dword [esp + 0x80], edx
mov edx, dword [ecx + 0x308]
xor edx, eax
mov dword [esp + 0x84], edx
mov edx, dword [ecx + 0x208]
mov dword [esp + 0x2e0], edx
mov edi, dword [esp + 0x2e0]
shld ebp, edi, 1
add edi, edi
mov esi, edi
mov edi, ebp
mov ebp, dword [esp + 0x80]
mov edx, edi
imul edx, ebp
mov eax, ebp
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov edx, dword [esp + 0x84]
add edi, ebx
mov eax, dword [esp + 0x80]
add eax, dword [ecx + 0x208]
adc edx, dword [ecx + 0x20c]
mov dword [esp + 0x2f4], 0
add esi, eax
adc edi, edx
mov edx, dword [ecx + 0x108]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
xor edx, esi
mov dword [esp + 0x2e8], edx
mov edx, dword [ecx + 0x10c]
xor edx, edi
mov edi, dword [esp + 0x2e8]
mov dword [esp + 0x2ec], edx
mov ebp, dword [esp + 0x2ec]
mov edx, edi
shrd edi, ebp, 0x18
shrd ebp, edx, 0x18
mov eax, edi
mov edx, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x2f0], ebp
mov ebp, dword [esp + 0x2f4]
mov edi, dword [esp + 0x2f0]
shld ebp, edi, 1
add edi, edi
mov esi, edi
mov edi, ebp
mov edx, edi
imul edx, eax
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x20]
add edi, ebx
add eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
adc edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x80]
add esi, eax
adc edi, edx
mov edx, esi
mov ebp, edi
mov edi, esi
mov esi, dword [esp + 0x84]
xor edx, ebx
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], ebp
mov dword [esp + 0x2f8], edx
mov edx, ebp
mov ebx, dword [esp + 0x2f8]
xor edx, esi
mov dword [esp + 0x2fc], edx
mov esi, dword [esp + 0x2fc]
mov edx, ebx
shrd ebx, esi, 0x10
shrd esi, edx, 0x10
mov edx, dword [esp + 0x18]
mov dword [esp + 0x300], edx
mov edi, dword [esp + 0x300]
mov dword [esp + 0x304], 0
mov ebp, dword [esp + 0x304]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], esi
shld ebp, edi, 1
add edi, edi
mov eax, edi
mov edi, ebx
mul edi
imul ebp, ebx
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x18]
add edi, ebp
add eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x1c]
adc edx, dword [esp + 0xb4]
add esi, eax
mov eax, dword [esp + 0x10]
adc edi, edx
mov edx, dword [esp + 0x14]
mov ebp, esi
mov dword [esp + 0x44], edi
xor edx, dword [esp + 0x44]
xor ebp, eax
mov edi, dword [ecx + 0x80]
mov dword [esp + 0x40], esi
mov dword [esp + 0x308], ebp
mov ebx, dword [esp + 0x308]
mov ebp, dword [ecx + 0x180]
mov dword [esp + 0x30c], edx
mov esi, dword [esp + 0x30c]
mov eax, edi
mov edx, ebx
mov edi, dword [ecx + 0x184]
shld ebx, esi, 1
shld esi, edx, 1
mul ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], esi
mov esi, dword [ecx + 0x180]
shld edx, eax, 1
add eax, eax
add esi, dword [ecx + 0x80]
adc edi, dword [ecx + 0x84]
add eax, esi
adc edx, edi
mov dword [esp + 0x20], eax
mov esi, edx
mov edx, dword [ecx + 0x384]
mov dword [esp + 0x24], esi
xor edx, esi
mov dword [esp + 0x78], edx
mov edx, dword [ecx + 0x380]
mov dword [esp + 0x314], 0
mov edi, dword [esp + 0x314]
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x324], 0
xor edx, eax
mov dword [esp + 0x7c], edx
mov edx, dword [ecx + 0x280]
mov eax, ebp
mov dword [esp + 0x310], edx
mov esi, dword [esp + 0x310]
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, ebp
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x78]
add edi, ebx
add eax, dword [ecx + 0x280]
mov edx, dword [esp + 0x7c]
adc edx, dword [ecx + 0x284]
add esi, eax
adc edi, edx
mov edx, dword [ecx + 0x180]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
xor edx, esi
mov dword [esp + 0x318], edx
mov edx, dword [ecx + 0x184]
xor edx, edi
mov edi, dword [esp + 0x318]
mov dword [esp + 0x31c], edx
mov ebp, dword [esp + 0x31c]
mov edx, edi
shrd edi, ebp, 0x18
shrd ebp, edx, 0x18
mov eax, edi
mov edi, dword [esp + 0x324]
mov edx, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x320], ebp
mov esi, dword [esp + 0x320]
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, eax
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x20]
add edi, ebx
add eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
adc edx, dword [esp + 0x14]
mov ebx, esi
mov esi, edi
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x334], 0
add ebx, eax
adc esi, edx
mov edx, ebx
mov dword [esp + 0xa8], ebx
xor edx, edi
mov dword [esp + 0xac], esi
mov dword [esp + 0x328], edx
mov edx, esi
mov edi, dword [esp + 0x328]
xor edx, ebp
mov esi, dword [esp + 0x334]
mov dword [esp + 0x32c], edx
mov ebp, dword [esp + 0x32c]
mov edx, edi
shrd edi, ebp, 0x10
shrd ebp, edx, 0x10
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x330], edx
mov ebx, dword [esp + 0x330]
shld esi, ebx, 1
add ebx, ebx
mov eax, ebx
mov ebp, esi
mul edi
imul ebp, edi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x18]
add edi, ebp
add eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x1c]
adc edx, dword [esp + 0xa4]
add esi, eax
mov eax, dword [esp + 0x10]
adc edi, edx
mov edx, dword [esp + 0x14]
mov ebp, esi
mov dword [esp + 0x14], edi
xor edx, dword [esp + 0x14]
xor ebp, eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x338], ebp
mov edi, dword [esp + 0x338]
mov dword [esp + 0x33c], edx
mov ebp, dword [esp + 0x33c]
mov edx, edi
shld edi, ebp, 1
shld ebp, edx, 1
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebp
mov ebp, dword [ecx + 0x88]
mov edi, dword [ecx + 0x188]
mov esi, dword [ecx + 0x188]
mov dword [esp + 0x344], 0
mov eax, ebp
mul edi
mov edi, dword [ecx + 0x18c]
shld edx, eax, 1
add eax, eax
add esi, dword [ecx + 0x88]
adc edi, dword [ecx + 0x8c]
add eax, esi
adc edx, edi
mov edi, dword [esp + 0x344]
mov dword [esp + 0x18], eax
mov ebp, edx
mov edx, dword [ecx + 0x38c]
mov dword [esp + 0x1c], ebp
xor edx, ebp
mov dword [esp + 0x70], edx
mov edx, dword [ecx + 0x388]
mov ebp, dword [esp + 0x70]
xor edx, eax
mov dword [esp + 0x74], edx
mov edx, dword [ecx + 0x288]
mov eax, ebp
mov dword [esp + 0x340], edx
mov esi, dword [esp + 0x340]
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, ebp
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x70]
add edi, ebx
add eax, dword [ecx + 0x288]
mov edx, dword [esp + 0x74]
adc edx, dword [ecx + 0x28c]
add esi, eax
adc edi, edx
mov edx, dword [ecx + 0x188]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
xor edx, esi
mov dword [esp + 0x348], edx
mov edx, dword [ecx + 0x18c]
mov ebx, dword [esp + 0x348]
xor edx, edi
mov dword [esp + 0x34c], edx
mov esi, dword [esp + 0x34c]
mov edx, ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x354], 0
mov dword [esp + 0x364], 0
shrd ebx, esi, 0x18
shrd esi, edx, 0x18
mov eax, ebx
mov dword [esp + 0x350], ebp
mov ebx, dword [esp + 0x350]
mov edx, esi
mov esi, dword [esp + 0x354]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov ebp, dword [esp + 0x74]
shld esi, ebx, 1
add ebx, ebx
mov edi, esi
mov esi, ebx
mov edx, edi
imul edx, eax
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x18]
add edi, ebx
add eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
adc edx, dword [esp + 0x24]
mov ebx, esi
mov esi, edi
mov edi, dword [esp + 0x70]
add ebx, eax
adc esi, edx
mov edx, ebx
mov dword [esp + 0x98], ebx
xor edx, edi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x358], edx
mov edx, esi
mov edi, dword [esp + 0x358]
xor edx, ebp
mov dword [esp + 0x35c], edx
mov ebp, dword [esp + 0x35c]
mov edx, edi
shrd edi, ebp, 0x10
shrd ebp, edx, 0x10
mov edx, dword [esp + 0x28]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x360], edx
mov edx, dword [esp + 0x364]
mov eax, dword [esp + 0x360]
shld edx, eax, 1
add eax, eax
mov ebp, edx
mul edi
imul ebp, edi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x28]
add edi, ebp
add eax, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
adc edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x374], 0
mov dword [esp + 0x37c], 0
add esi, eax
adc edi, edx
mov edx, esi
mov ebp, edi
mov edi, esi
mov esi, dword [esp + 0x24]
xor edx, ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x368], edx
mov ebp, dword [esp + 0x38]
mov edx, esi
xor edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x368]
mov eax, ebp
mov dword [esp + 0x36c], edx
mov edi, dword [esp + 0x36c]
mov edx, esi
shld esi, edi, 1
shld edi, edx, 1
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x374]
mov dword [esp + 0x370], edx
mov esi, dword [esp + 0x370]
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, ebp
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0xc8]
add edi, ebx
add eax, dword [esp + 0x38]
mov edx, dword [esp + 0xcc]
adc edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x18]
add esi, eax
adc edi, edx
mov ebp, edi
mov edi, esi
mov esi, dword [esp + 0x1c]
mov edx, ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebp
xor edx, esi
mov dword [esp + 0x68], edx
mov edx, ebx
xor edx, dword [esp + 0x18]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x378], edx
mov esi, dword [esp + 0x378]
mov edi, dword [esp + 0x37c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x38c], 0
shld edi, esi, 1
mov eax, ebp
add esi, esi
mov edx, edi
imul edx, ebp
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x10]
add edi, ebx
add eax, dword [esp + 0x68]
mov edx, dword [esp + 0x14]
adc edx, dword [esp + 0x6c]
add esi, eax
adc edi, edx
mov eax, esi
mov ebp, esi
mov esi, dword [esp + 0x38]
mov edx, edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
xor ebp, esi
mov dword [esp + 0x380], ebp
mov ebp, edi
xor ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x380]
mov dword [esp + 0x384], ebp
mov edi, dword [esp + 0x384]
mov edx, esi
mov ebp, dword [esp + 0x18]
shrd esi, edi, 0x18
shrd edi, edx, 0x18
mov eax, esi
mov dword [esp + 0x388], ebp
mov esi, dword [esp + 0x388]
mov edx, edi
mov edi, dword [esp + 0x38c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, eax
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x18]
add edi, ebx
add eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
adc edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x68]
add eax, esi
mov ebp, ebx
adc edx, edi
mov dword [ecx], eax
xor ebp, eax
mov dword [ecx + 4], edx
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x390], ebp
mov dword [esp + 0x39c], 0
mov dword [esp + 0x3ac], 0
xor edx, esi
mov esi, dword [esp + 0x390]
mov dword [esp + 0x394], edx
mov edi, dword [esp + 0x394]
mov edx, esi
shrd esi, edi, 0x10
shrd edi, edx, 0x10
mov edx, dword [esp + 0x10]
mov dword [ecx + 0x388], esi
mov dword [ecx + 0x38c], edi
mov dword [esp + 0x398], edx
mov edx, dword [esp + 0x39c]
mov eax, dword [esp + 0x398]
shld edx, eax, 1
add eax, eax
mov ebx, edx
imul ebx, esi
mul esi
add edx, ebx
add esi, dword [esp + 0x10]
adc edi, dword [esp + 0x14]
add eax, esi
mov esi, dword [esp + 0x38]
adc edx, edi
mov edi, dword [esp + 0x3c]
mov dword [ecx + 0x280], eax
mov dword [ecx + 0x284], edx
mov ebp, esi
xor ebp, eax
xor edx, edi
mov dword [esp + 0x3a0], ebp
mov esi, dword [esp + 0x3a0]
mov dword [esp + 0x3a4], edx
mov edi, dword [esp + 0x3a4]
mov ebp, dword [esp + 0x30]
mov edx, esi
shld esi, edi, 1
shld edi, edx, 1
mov edx, dword [esp + 0xb8]
mov dword [ecx + 0x108], esi
mov eax, ebp
mov dword [ecx + 0x10c], edi
mov edi, dword [esp + 0x3ac]
mov dword [esp + 0x3a8], edx
mov esi, dword [esp + 0x3a8]
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, ebp
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0xb8]
add edi, ebx
mov edx, dword [esp + 0xbc]
add eax, dword [esp + 0x30]
adc edx, dword [esp + 0x34]
mov dword [esp + 0x3b4], 0
add esi, eax
mov eax, dword [esp + 0xc0]
adc edi, edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x18], esi
mov ebp, edi
mov ebx, ebp
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x3b4]
xor ebx, edx
mov edx, eax
xor edx, dword [esp + 0x18]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x3b0], edx
mov edi, dword [esp + 0x3b0]
shld ebp, edi, 1
add edi, edi
mov esi, edi
mov edi, ebp
mov ebp, ebx
mov edx, edi
mov eax, ebp
imul edx, ebx
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x28]
add edi, ebx
add eax, dword [esp + 0x60]
mov edx, dword [esp + 0x2c]
adc edx, dword [esp + 0x64]
mov ebp, edi
mov edi, esi
mov esi, dword [esp + 0x30]
add edi, eax
adc ebp, edx
mov eax, edi
mov edx, ebp
mov ebp, edi
mov edi, dword [esp + 0x34]
xor ebp, esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x3b8], ebp
mov ebp, edi
xor ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x3b8]
mov edx, edi
mov dword [esp + 0x3bc], ebp
mov ebp, dword [esp + 0x3bc]
shrd edi, ebp, 0x18
shrd ebp, edx, 0x18
mov eax, edi
mov edx, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x3c0], ebp
mov dword [esp + 0x3c4], 0
mov esi, dword [esp + 0x3c0]
mov edi, dword [esp + 0x3c4]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x3d4], 0
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, eax
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x18]
add edi, ebx
add eax, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
adc edx, dword [esp + 0x2c]
add eax, esi
adc edx, edi
mov edi, dword [esp + 0x60]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
xor edx, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x3cc], edx
mov esi, edi
mov edi, dword [esp + 0x3cc]
xor esi, eax
mov dword [esp + 0x3c8], esi
mov esi, dword [esp + 0x3c8]
mov edx, esi
shrd esi, edi, 0x10
shrd edi, edx, 0x10
mov edx, dword [esp + 0x10]
mov dword [ecx + 0x300], esi
mov dword [ecx + 0x304], edi
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x3d4]
mov eax, dword [esp + 0x3d0]
shld edx, eax, 1
add eax, eax
mov ebx, edx
imul ebx, esi
mul esi
add edx, ebx
add esi, dword [esp + 0x10]
adc edi, dword [esp + 0x14]
add eax, esi
adc edx, edi
mov edi, dword [esp + 0x28]
mov dword [ecx + 0x288], eax
mov dword [ecx + 0x28c], edx
xor edx, ebp
mov esi, edi
xor esi, eax
mov dword [esp + 0x3d8], esi
mov dword [esp + 0x3dc], edx
mov edi, dword [esp + 0x3d8]
mov ebp, dword [esp + 0x3dc]
mov dword [esp + 0x3e4], 0
mov dword [esp + 0x3ec], 0
mov edx, edi
shld edi, ebp, 1
shld ebp, edx, 1
mov edx, dword [esp + 0xa8]
mov dword [ecx + 0x180], edi
mov dword [ecx + 0x184], ebp
mov ebp, dword [esp + 0x3e4]
mov dword [esp + 0x3e0], edx
mov edi, dword [esp + 0x3e0]
shld ebp, edi, 1
add edi, edi
mov esi, edi
mov edi, ebp
mov ebp, dword [esp + 0x20]
mov edx, edi
imul edx, ebp
mov eax, ebp
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0xa8]
add edi, ebx
add eax, dword [esp + 0x20]
mov edx, dword [esp + 0xac]
adc edx, dword [esp + 0x24]
mov ebp, edi
mov edi, esi
add edi, eax
mov eax, dword [esp + 0xb0]
adc ebp, edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x18], edi
mov esi, ebp
mov edi, dword [esp + 0x3ec]
mov dword [esp + 0x1c], ebp
xor esi, edx
mov edx, eax
xor edx, dword [esp + 0x18]
mov dword [esp + 0x58], esi
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x90]
mov eax, ebp
mov dword [esp + 0x3e8], edx
mov esi, dword [esp + 0x3e8]
shld edi, esi, 1
add esi, esi
mov edx, edi
imul edx, ebp
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x90]
add edi, ebx
add eax, dword [esp + 0x58]
mov edx, dword [esp + 0x94]
adc edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3fc], 0
add esi, eax
mov eax, esi
mov ebp, esi
mov esi, dword [esp + 0x24]
adc edi, edx
xor ebp, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x3f0], ebp
mov dword [esp + 0x14], edi
mov ebp, esi
xor ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x3f0]
mov edx, ebx
mov dword [esp + 0x3f4], ebp
mov esi, dword [esp + 0x3f4]
mov ebp, dword [esp + 0x18]
shrd ebx, esi, 0x18
shrd esi, edx, 0x18
mov eax, ebx
mov dword [esp + 0x3f8], ebp
mov ebx, dword [esp + 0x3f8]
mov edx, esi
mov esi, dword [esp + 0x3fc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov ebp, dword [esp + 0x5c]
shld esi, ebx, 1
add ebx, ebx
mov edi, esi
mov esi, ebx
mov edx, edi
imul edx, eax
mov ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x18]
add edi, ebx
add eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
adc edx, dword [esp + 0x24]
add eax, esi
adc edx, edi
mov edi, dword [esp + 0x58]
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x84], edx
xor edx, ebp
mov dword [esp + 0x404], edx
mov ebx, edi
mov edi, dword [esp + 0x404]
xor ebx, eax
mov dword [esp + 0x400], ebx
mov esi, dword [esp + 0x400]
mov edx, esi
shrd esi, edi, 0x10
shrd edi, edx, 0x10
mov dword [ecx + 0x308], esi
mov dword [ecx + 0x30c], edi
mov edx, dword [esp + 0x10]
mov dword [esp + 0x40c], 0
mov dword [esp + 0x41c], 0
mov dword [esp + 0x408], edx
mov edx, dword [esp + 0x40c]
mov eax, dword [esp + 0x408]
shld edx, eax, 1
add eax, eax
mov ebx, edx
imul ebx, esi
mul esi
add edx, ebx
add esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
adc edi, dword [esp + 0x14]
mov ebp, ebx
add eax, esi
mov esi, dword [esp + 0x24]
adc edx, edi
xor ebp, eax
mov dword [ecx + 0x200], eax
mov dword [ecx + 0x204], edx
mov dword [esp + 0x410], ebp
xor edx, esi
mov eax, dword [esp + 0x410]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x414], edx
mov edx, dword [esp + 0x414]
mov ebp, eax
shld eax, edx, 1
shld edx, ebp, 1
mov dword [ecx + 0x188], eax
mov ebp, dword [esp + 0xa4]
mov dword [ecx + 0x18c], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x418], edx
mov edx, dword [esp + 0x41c]
mov eax, dword [esp + 0x418]
shld edx, eax, 1
add eax, eax
mov ebx, edx
mul edi
imul ebx, edi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x98]
add edi, ebx
add eax, dword [esp + 0x48]
mov edx, dword [esp + 0x9c]
adc edx, dword [esp + 0x4c]
mov ebx, esi
mov esi, edi
mov edi, dword [esp + 0xa0]
add ebx, eax
adc esi, edx
mov edx, esi
xor edx, ebp
mov dword [esp + 0x50], edx
mov dword [esp + 0x18], ebx
mov eax, edx
xor edi, dword [esp + 0x18]
mov dword [esp + 0x424], 0
mov ebp, dword [esp + 0x424]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x434], 0
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x420], edi
mov edi, dword [esp + 0x420]
shld ebp, edi, 1
add edi, edi
mov esi, edi
mov edi, ebp
mov ebx, edi
imul ebx, edx
mul esi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x40]
add edi, ebx
add eax, dword [esp + 0x50]
mov edx, dword [esp + 0x44]
adc edx, dword [esp + 0x54]
mov ebp, edi
mov edi, esi
mov esi, dword [esp + 0x48]
add edi, eax
adc ebp, edx
mov eax, edi
mov edx, ebp
mov ebp, edi
mov edi, dword [esp + 0x4c]
xor ebp, esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x428], ebp
mov esi, edi
xor esi, dword [esp + 0x14]
mov edi, dword [esp + 0x428]
mov dword [esp + 0x42c], esi
mov ebp, dword [esp + 0x42c]
mov esi, edi
shrd edi, ebp, 0x18
shrd ebp, esi, 0x18
mov esi, dword [esp + 0x18]
mov eax, edi
mov edi, dword [esp + 0x434]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x430], esi
mov esi, dword [esp + 0x430]
shld edi, esi, 1
add esi, esi
mov ebx, edi
imul ebx, eax
mul esi
mov edi, edx
mov esi, eax
mov edx, dword [esp + 0x1c]
add edi, ebx
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x444], 0
add eax, esi
adc edx, edi
mov edi, dword [esp + 0x50]
mov dword [ecx + 0x88], eax
mov dword [ecx + 0x8c], edx
mov esi, edi
xor esi, eax
mov dword [esp + 0x438], esi
mov esi, edx
xor esi, ebp
mov dword [esp + 0x43c], esi
mov esi, dword [esp + 0x438]
mov edi, dword [esp + 0x43c]
mov edx, esi
shrd esi, edi, 0x10
shrd edi, edx, 0x10
mov edx, dword [esp + 0x10]
mov dword [ecx + 0x380], esi
mov dword [ecx + 0x384], edi
mov dword [esp + 0x440], edx
mov edx, dword [esp + 0x444]
mov eax, dword [esp + 0x440]
shld edx, eax, 1
add eax, eax
mov ebx, edx
imul ebx, esi
mul esi
add edx, ebx
add esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
adc edi, dword [esp + 0x14]
add eax, esi
mov esi, dword [esp + 0x24]
adc edx, edi
mov edi, ebx
mov dword [ecx + 0x208], eax
xor edi, eax
mov eax, edx
mov dword [ecx + 0x20c], edx
xor eax, esi
mov dword [esp + 0x448], edi
add ecx, 0x10
mov dword [esp + 0x44c], eax
mov eax, dword [esp + 0x448]
mov edx, dword [esp + 0x44c]
mov ebx, eax
shld eax, edx, 1
shld edx, ebx, 1
mov dword [ecx + 0xf0], eax
mov dword [ecx + 0xf4], edx
cmp dword [esp + 0xd0], ecx
jne 0x4bb031
mov ebx, dword [esp + 0x458]
lea eax, [esp + 0x860]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004b90a0
lea eax, [esp + 0x460]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004b90e0
add esp, 0xc6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x458]
mov dword [esp + 4], eax
lea eax, [esp + 0x860]
mov dword [esp], eax
call fcn.004b90e0
jmp 0x4b9c62