Function at 0x48ee9f
Capabilities:
Encrypt data using curve25519
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x500
mov eax, dword [0x4df19c]
mov edi, dword [ebp + 0x14]
lea esi, [esp + 0x4b8]
xor eax, ebp
mov dword [esp + 0x4f8], eax
mov eax, 0x20
push esi
push eax
push edi
call fcn.0044fcf3
add esp, 0xc
and byte [esi], 0xf8
lea ebx, [esp + 0x3e0]
mov al, byte [esi + 0x1f]
and al, 0x3f
or al, 0x40
mov byte [esi + 0x1f], al
push ebx
call fcn.004581fc
add esp, 4
mov ecx, 0x20
lea eax, [esp + 0x4d8]
push ecx
push eax
push ebx
call fcn.0045824d
add esp, 0xc
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0045824d
add esp, 0xc
lea esi, [esp + 0x3a0]
push ebx
push esi
call fcn.00458339
add esp, 8
push esi
call fcn.0048d566
add esp, 4
lea eax, [esp + 0x300]
push 0x4d1a18
push esi
push eax
call fcn.0048ce08
add esp, 0xc
mov esi, dword [ebp + 8]
lea edx, [esp + 0x300]
mov ecx, esi
call fcn.00492560
push ebx
call fcn.004581fc
add esp, 4
mov eax, 0x20
push eax
push esi
push ebx
call fcn.0045824d
add esp, 0xc
mov eax, 0x20
add edi, 0x20
push eax
push edi
push ebx
call fcn.0045824d
add esp, 0xc
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0045824d
add esp, 0xc
lea esi, [esp + 0x2c0]
push ebx
push esi
call fcn.00458339
add esp, 8
push esi
call fcn.0048d566
add esp, 4
movzx eax, byte [esi + 1]
movzx ecx, byte [esi]
movzx edx, byte [esi + 2]
movzx ebx, byte [esi + 0x14]
lea edi, [esp + 0x3a0]
shl eax, 8
shl ebx, 0x10
or eax, ecx
movzx ecx, byte [esi + 3]
shl ecx, 8
or ecx, edx
and edx, 0x1f
shl edx, 0x10
or edx, eax
movzx eax, byte [esi + 4]
mov dword [esp + 0x4c], edx
movzx edx, byte [esi + 5]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esi + 6]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esi + 8]
mov dword [esp + 0x58], edx
movzx edx, byte [esi + 7]
shl eax, 8
or eax, edx
shl edx, 0x10
or edx, ecx
movzx ecx, byte [esi + 9]
mov dword [esp + 8], edx
movzx edx, byte [esi + 0xa]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esi + 0xb]
shl eax, 8
or eax, edx
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esi + 0xc]
mov dword [esp + 0x40], edx
movzx edx, byte [esi + 0xd]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esi + 0xe]
shl eax, 8
or eax, edx
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esi + 0x10]
mov dword [esp + 4], edx
movzx edx, byte [esi + 0xf]
shl ecx, 8
or ecx, edx
shl edx, 0x10
or edx, eax
movzx eax, byte [esi + 0x11]
mov dword [esp + 0x54], edx
movzx edx, byte [esi + 0x12]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esi + 0x13]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esi + 0x16]
or ebx, ecx
movzx ecx, byte [esi + 0x15]
mov dword [esp + 0x14], edx
movzx edx, byte [esi + 0x17]
shr ebx, 3
mov dword [esp + 0x50], ebx
shl eax, 8
or eax, ecx
movzx ecx, byte [esi + 0x18]
shl ecx, 8
or ecx, edx
and edx, 0x1f
shl edx, 0x10
or edx, eax
movzx eax, byte [esi + 0x19]
mov dword [esp + 0x38], edx
movzx edx, byte [esi + 0x1a]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esi + 0x1b]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esi + 0x1d]
mov dword [esp + 0x3c], edx
movzx edx, byte [esi + 0x1c]
shl eax, 8
or eax, edx
shl edx, 0x10
or edx, ecx
movzx ecx, byte [esi + 0x1e]
mov dword [esp + 0x68], edx
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esi + 0x1f]
lea esi, [esp + 0x4d8]
movzx edx, byte [esi - 0x1e]
shl eax, 0x18
or eax, ecx
movzx ecx, byte [esi - 0x20]
mov dword [esp + 0x60], eax
movzx eax, byte [esi - 0x1f]
shr dword [esp + 0x60], 7
shl eax, 8
or eax, ecx
movzx ecx, byte [esi - 0x1d]
shl ecx, 8
or ecx, edx
and edx, 0x1f
shl edx, 0x10
or edx, eax
movzx eax, byte [esi - 0x1c]
mov dword [esp + 0x64], edx
movzx edx, byte [esi - 0x1b]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esi - 0x1a]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esi - 0x18]
mov dword [esp + 0x30], edx
movzx edx, byte [esi - 0x19]
mov ebx, dword [esp + 0x30]
shl eax, 8
or eax, edx
shl edx, 0x10
or edx, ecx
movzx ecx, byte [esi - 0x17]
shr ebx, 5
mov dword [esp], edx
movzx edx, byte [esi - 0x16]
and ebx, 0x1fffff
mov dword [esp + 0x30], ebx
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esi - 0x15]
shl eax, 8
or eax, edx
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esi - 0x14]
mov dword [esp + 0xc], edx
movzx edx, byte [esi - 0x13]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esi - 0x12]
shl eax, 8
or eax, edx
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esi - 0x10]
mov dword [esp + 0x20], edx
movzx edx, byte [esi - 0x11]
shl ecx, 8
or ecx, edx
shl edx, 0x10
or edx, eax
movzx eax, byte [esi - 0xf]
mov dword [esp + 0x24], edx
movzx edx, byte [esi - 0xe]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esi - 0xd]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esi - 0xc]
mov dword [esp + 0x28], edx
movzx edx, byte [esi - 9]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esi - 0xb]
mov dword [esp + 0x10], eax
movzx eax, byte [esi - 0xa]
shr dword [esp + 0x10], 3
shl eax, 8
or eax, ecx
movzx ecx, byte [esi - 8]
shl ecx, 8
or ecx, edx
and edx, 0x1f
shl edx, 0x10
or edx, eax
movzx eax, byte [esi - 7]
mov dword [esp + 0x1c], edx
movzx edx, byte [esi - 6]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esi - 5]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esi - 3]
mov dword [esp + 0x18], edx
movzx edx, byte [esi - 4]
shl eax, 8
or eax, edx
shl edx, 0x10
or edx, ecx
movzx ecx, byte [esi - 2]
mov dword [esp + 0x2c], edx
movzx edx, byte [edi + 3]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esi - 1]
shl edx, 8
movzx esi, byte [edi + 5]
shl eax, 0x18
or eax, ecx
movzx ecx, byte [edi]
mov dword [esp + 0x34], eax
movzx eax, byte [edi + 1]
shr dword [esp + 0x34], 7
shl eax, 8
or eax, ecx
movzx ecx, byte [edi + 2]
or edx, ecx
and ecx, 0x1f
shl ecx, 0x10
or ecx, eax
movzx eax, byte [edi + 4]
mov dword [esp + 0xac], ecx
movzx ecx, byte [edi + 0x1a]
shl eax, 0x10
or eax, edx
movzx edx, byte [edi + 6]
shl edx, 8
or edx, esi
shl esi, 0x18
or esi, eax
movzx eax, byte [edi + 8]
mov dword [esp + 0x7c], esi
movzx esi, byte [edi + 7]
shl eax, 8
or eax, esi
shl esi, 0x10
or esi, edx
movzx edx, byte [edi + 9]
mov dword [esp + 0x74], esi
movzx esi, byte [edi + 0xa]
shl edx, 0x10
or edx, eax
movzx eax, byte [edi + 0xb]
shl eax, 8
or eax, esi
shl esi, 0x18
or esi, edx
movzx edx, byte [edi + 0xc]
mov dword [esp + 0x80], esi
movzx esi, byte [edi + 0xd]
shl edx, 0x10
or edx, eax
movzx eax, byte [edi + 0xe]
shl eax, 8
or eax, esi
shl esi, 0x18
or esi, edx
movzx edx, byte [edi + 0x10]
mov dword [esp + 0xc0], esi
movzx esi, byte [edi + 0xf]
shl edx, 8
or edx, esi
shl esi, 0x10
or esi, eax
movzx eax, byte [edi + 0x11]
mov dword [esp + 0x84], esi
movzx esi, byte [edi + 0x12]
shl eax, 0x10
or eax, edx
movzx edx, byte [edi + 0x13]
shl edx, 8
or edx, esi
shl esi, 0x18
or esi, eax
movzx eax, byte [edi + 0x14]
mov dword [esp + 0x94], esi
movzx esi, byte [edi + 0x17]
shl eax, 0x10
or eax, edx
movzx edx, byte [edi + 0x15]
mov dword [esp + 0x8c], eax
movzx eax, byte [edi + 0x16]
shr dword [esp + 0x8c], 3
shl eax, 8
or eax, edx
movzx edx, byte [edi + 0x18]
shl edx, 8
or edx, esi
and esi, 0x1f
shl esi, 0x10
or esi, eax
movzx eax, byte [edi + 0x19]
mov dword [esp + 0xb8], esi
movzx esi, byte [edi + 0x1c]
shl eax, 0x10
or eax, edx
movzx edx, byte [edi + 0x1b]
shl edx, 8
or edx, ecx
shl ecx, 0x18
or ecx, eax
movzx eax, byte [edi + 0x1d]
shr ecx, 5
and ecx, 0x1fffff
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x4c]
shl eax, 8
or eax, esi
shl esi, 0x10
or esi, edx
movzx edx, byte [edi + 0x1e]
shr esi, 2
and esi, 0x1fffff
mov dword [esp + 0xa8], esi
shl edx, 0x10
or edx, eax
movzx eax, byte [edi + 0x1f]
mov edi, dword [esp + 0x64]
shl eax, 0x18
or eax, edx
mov edx, eax
mov eax, dword [esp + 0x58]
shr edx, 7
mov dword [esp + 0xf0], edx
shr eax, 5
and eax, 0x1fffff
mov dword [esp + 0x58], eax
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x58]
shr eax, 2
and eax, 0x1fffff
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
shr eax, 7
and eax, 0x1fffff
mov dword [esp + 0x40], eax
mov eax, dword [esp + 4]
shr eax, 4
and eax, 0x1fffff
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
shr eax, 1
and eax, 0x1fffff
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x14]
shr eax, 6
and eax, 0x1fffff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
shr eax, 5
and eax, 0x1fffff
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x68]
shr eax, 2
and eax, 0x1fffff
mov dword [esp + 0x68], eax
mov eax, dword [esp]
shr eax, 2
and eax, 0x1fffff
mov dword [esp], eax
mov eax, dword [esp + 0xc]
shr eax, 7
and eax, 0x1fffff
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
shr eax, 4
and eax, 0x1fffff
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
shr eax, 1
and eax, 0x1fffff
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
shr eax, 6
and eax, 0x1fffff
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
shr eax, 5
and eax, 0x1fffff
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
shr eax, 2
and eax, 0x1fffff
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x7c]
shr eax, 5
and eax, 0x1fffff
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x74]
shr eax, 2
and eax, 0x1fffff
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
shr eax, 7
and eax, 0x1fffff
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xc0]
shr eax, 4
and eax, 0x1fffff
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x84]
shr eax, 1
and eax, 0x1fffff
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x94]
shr eax, 6
and eax, 0x1fffff
mov dword [esp + 0x94], eax
mov eax, edi
mul ecx
add eax, dword [esp + 0xac]
mov dword [esp + 0xec], eax
adc edx, 0
mov eax, ebx
mov dword [esp + 0x174], edx
mul ecx
mov dword [esp + 0x160], eax
mov eax, edi
mov dword [esp + 0x214], edx
mul esi
mov dword [esp + 0xc4], eax
mov eax, dword [esp]
mov dword [esp + 0xac], edx
mul ecx
mov dword [esp + 0xbc], eax
mov eax, ebx
mov dword [esp + 0x98], edx
mul esi
mov ebx, eax
mov eax, edi
mov edi, dword [esp + 8]
mov esi, edx
mul edi
add eax, ebx
mov ebx, dword [esp]
adc edx, esi
add eax, dword [esp + 0xbc]
mov esi, dword [esp + 0xc]
adc edx, dword [esp + 0x98]
add eax, dword [esp + 0x74]
mov dword [esp + 0x180], eax
adc edx, 0
mov eax, esi
mov dword [esp + 0xfc], edx
mul ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x210], eax
mov eax, ebx
mov dword [esp + 0x218], edx
mul ecx
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x204], edx
mul edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x168], edx
mul edi
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x74], edx
mul dword [esp + 0x4c]
mov dword [esp + 0x90], eax
mov eax, esi
mov dword [esp + 0xbc], edx
mul ecx
mov dword [esp + 0x70], eax
mov eax, ebx
mov dword [esp + 0x88], edx
mul dword [esp + 8]
mov esi, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x5c], edx
mul edi
mov edi, dword [esp + 0x64]
mov ebx, eax
mov ecx, edx
mov eax, edi
mul dword [esp + 4]
add eax, ebx
mov ebx, dword [esp + 4]
adc edx, ecx
add eax, esi
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
adc edx, dword [esp + 0x5c]
add eax, dword [esp + 0x70]
adc edx, dword [esp + 0x88]
add eax, dword [esp + 0x90]
adc edx, dword [esp + 0xbc]
add eax, dword [esp + 0xc0]
mov dword [esp + 0x178], eax
adc edx, 0
mov eax, ecx
mov dword [esp + 0x17c], edx
mul dword [esp + 0x4c]
mov dword [esp + 0x170], eax
mov eax, esi
mov dword [esp + 0x20c], edx
mul dword [esp + 0x58]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x164], edx
mul dword [esp + 8]
mov dword [esp + 0x158], eax
mov eax, dword [esp]
mov dword [esp + 0x15c], edx
mul dword [esp + 0x40]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x154], edx
mul ebx
mov dword [esp + 0xd0], eax
mov eax, edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0xd8], edx
mul edi
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc0], edx
mul dword [esp + 0x4c]
mov dword [esp + 0x88], eax
mov eax, ecx
mov dword [esp + 0x90], edx
mul dword [esp + 0x58]
mov dword [esp + 0x70], eax
mov eax, esi
mov ecx, edx
mov esi, dword [esp + 0x40]
mul dword [esp + 8]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], edx
mul esi
mov dword [esp + 0x44], eax
mov eax, dword [esp]
mov dword [esp + 0x48], edx
mul ebx
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xe8], edx
mul edi
mov edi, eax
mov eax, dword [esp + 0x64]
mov ebx, edx
mul dword [esp + 0x14]
add eax, edi
mov edi, dword [esp + 8]
adc edx, ebx
add eax, dword [esp + 0xe4]
mov ebx, dword [esp + 0x58]
adc edx, dword [esp + 0xe8]
add eax, dword [esp + 0x44]
adc edx, dword [esp + 0x48]
add eax, dword [esp + 0x6c]
adc edx, dword [esp + 0x5c]
add eax, dword [esp + 0x70]
adc edx, ecx
add eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x4c]
adc edx, dword [esp + 0x90]
add eax, dword [esp + 0x94]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x10]
adc edx, 0
mov dword [esp + 0xe8], edx
mul ecx
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xd4], edx
mul ebx
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x148], edx
mul edi
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x140], edx
mul esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x138], edx
mul dword [esp + 4]
mov dword [esp + 0x134], eax
mov eax, dword [esp]
mov dword [esp + 0xc8], edx
mul dword [esp + 0x54]
mov dword [esp + 0x130], edx
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mul edx
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x128], edx
mul esi
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x94], edx
mul ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x88], edx
mul ebx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], edx
mul edi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x48], edx
mul dword [esp + 0x40]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xf8], edx
mul dword [esp + 4]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb4], edx
mul dword [esp + 0x54]
mov dword [esp + 0xa0], eax
mov eax, dword [esp]
mov dword [esp + 0xa4], edx
mul dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x78], edx
mul esi
mov esi, dword [esp + 0x14]
mov ebx, eax
mov eax, dword [esp + 0x64]
mov edi, edx
mul dword [esp + 0x38]
add eax, ebx
mov ebx, dword [esp + 0x3c]
adc edx, edi
add eax, ecx
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
adc edx, dword [esp + 0x78]
add eax, dword [esp + 0xa0]
adc edx, dword [esp + 0xa4]
add eax, dword [esp + 0xb0]
adc edx, dword [esp + 0xb4]
add eax, dword [esp + 0xf4]
adc edx, dword [esp + 0xf8]
add eax, dword [esp + 0x44]
adc edx, dword [esp + 0x48]
add eax, dword [esp + 0x6c]
adc edx, dword [esp + 0x5c]
add eax, dword [esp + 0x70]
adc edx, dword [esp + 0x88]
add eax, dword [esp + 0xb8]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x18]
adc edx, 0
mov dword [esp + 0xf8], edx
mul ecx
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x200], edx
mul dword [esp + 0x58]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1f4], edx
mul dword [esp + 8]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1ec], edx
mul dword [esp + 0x40]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1e4], edx
mul dword [esp + 4]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1dc], edx
mul dword [esp + 0x54]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1d4], edx
mul esi
mov dword [esp + 0x120], eax
mov eax, dword [esp]
mov dword [esp + 0x124], edx
mul edi
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x11c], edx
mul dword [esp + 0x38]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x114], edx
mul ebx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xb8], edx
mul ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], edx
mul dword [esp + 0x58]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], edx
mul dword [esp + 8]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], edx
mul dword [esp + 0x40]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xb0], edx
mul dword [esp + 4]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xa0], edx
mul dword [esp + 0x54]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x9c], edx
mul esi
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], edx
mul edi
mov dword [esp + 0x100], eax
mov eax, dword [esp]
mov dword [esp + 0x104], edx
mul dword [esp + 0x38]
mov ecx, eax
mov eax, dword [esp + 0x30]
mov esi, edx
mul ebx
mov ebx, eax
mov eax, dword [esp + 0x64]
mov edi, edx
mul dword [esp + 0x68]
add eax, ebx
mov ebx, dword [esp + 0x54]
adc edx, edi
add eax, ecx
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
adc edx, esi
add eax, dword [esp + 0x100]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x60], ecx
adc edx, dword [esp + 0x104]
add eax, dword [esp + 0x108]
adc edx, dword [esp + 0x10c]
add eax, dword [esp + 0x110]
adc edx, dword [esp + 0x9c]
add eax, dword [esp + 0x78]
adc edx, dword [esp + 0xa0]
add eax, dword [esp + 0xa4]
adc edx, dword [esp + 0xb0]
add eax, dword [esp + 0xb4]
adc edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
adc edx, dword [esp + 0x6c]
add eax, dword [esp + 0x5c]
adc edx, dword [esp + 0x70]
add eax, dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x34]
adc edx, 0
mov dword [esp + 0xb4], edx
mul dword [esp + 0x4c]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x110], edx
mul dword [esp + 0x58]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x108], edx
mul dword [esp + 8]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x100], edx
mul esi
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c4], edx
mul dword [esp + 4]
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1bc], edx
mul ebx
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1b4], edx
mul dword [esp + 0x14]
mov dword [esp + 0x2bc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1ac], edx
mul dword [esp + 0x50]
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2b8], edx
mul dword [esp + 0x38]
mov dword [esp + 0x2ac], eax
mov eax, dword [esp]
mov dword [esp + 0x2b0], edx
mul dword [esp + 0x3c]
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2a8], edx
mul edi
mov dword [esp + 0x29c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x2a0], edx
mul ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x64], edx
mul dword [esp + 0x58]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x58], edx
mul dword [esp + 8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], edx
mul esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], edx
mul dword [esp + 4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], edx
mul ebx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xa0], edx
mul dword [esp + 0x14]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x9c], edx
mul dword [esp + 0x50]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1a4], edx
mul dword [esp + 0x38]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x19c], edx
mul dword [esp + 0x3c]
mov esi, eax
mov eax, dword [esp]
mov dword [esp + 0x194], edx
mul edi
mov ebx, eax
mov eax, dword [esp + 0x30]
mov edi, edx
mul ecx
add eax, ebx
mov ebx, dword [esp + 0x54]
adc edx, edi
add eax, esi
mov edi, dword [esp + 4]
mov esi, dword [esp + 0x38]
adc edx, dword [esp + 0x194]
add eax, dword [esp + 0x198]
adc edx, dword [esp + 0x19c]
add eax, dword [esp + 0x1a0]
adc edx, dword [esp + 0x1a4]
add eax, dword [esp + 0x1a8]
adc edx, dword [esp + 0x9c]
add eax, dword [esp + 0x78]
adc edx, dword [esp + 0xa0]
add eax, dword [esp + 0xa4]
adc edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
adc edx, dword [esp + 0x6c]
add eax, dword [esp + 0x5c]
adc edx, dword [esp + 0x70]
add eax, dword [esp + 0xa8]
mov dword [esp + 0xa0], eax
adc edx, dword [esp + 0x58]
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa4], edx
mul dword [esp + 8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], edx
mul dword [esp + 0x40]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1a8], edx
mul edi
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1a0], edx
mul ebx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x198], edx
mul dword [esp + 0x14]
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x298], edx
mul dword [esp + 0x50]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x290], edx
mul esi
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x288], edx
mul dword [esp + 0x3c]
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x280], edx
mul dword [esp + 0x68]
mov dword [esp + 0x274], eax
mov eax, dword [esp]
mov dword [esp + 0x278], edx
mul ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa8], edx
mul dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], edx
mul edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], edx
mul ebx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], edx
mul dword [esp + 0x14]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], edx
mul dword [esp + 0x50]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x9c], edx
mul esi
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18c], edx
mul dword [esp + 0x3c]
mov esi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x184], edx
mul dword [esp + 0x68]
mov ebx, eax
mov eax, dword [esp + 0xc]
mov edi, edx
mul ecx
mov ecx, dword [esp + 0x50]
add eax, ebx
mov ebx, dword [esp + 0x3c]
adc edx, edi
add eax, esi
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x38]
adc edx, dword [esp + 0x184]
add eax, dword [esp + 0x188]
adc edx, dword [esp + 0x18c]
add eax, dword [esp + 0x190]
adc edx, dword [esp + 0x9c]
add eax, dword [esp + 0x78]
adc edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
adc edx, dword [esp + 0x6c]
add eax, dword [esp + 0x5c]
adc edx, dword [esp + 0x40]
add eax, dword [esp + 8]
mov dword [esp + 0x9c], eax
adc edx, dword [esp]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x78], edx
mul dword [esp + 4]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], edx
mul dword [esp + 0x54]
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18c], edx
mul edi
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x184], edx
mul ecx
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x26c], edx
mul esi
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x264], edx
mul ebx
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x25c], edx
mul dword [esp + 0x68]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x254], edx
mul dword [esp + 0x60]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x5c], edx
mul dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], edx
mul edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], edx
mul ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], edx
mul esi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], edx
mul ebx
mov esi, eax
mov eax, dword [esp + 0x28]
mov ecx, edx
mul dword [esp + 0x68]
mov ebx, eax
mov eax, dword [esp + 0x24]
mov edi, edx
mul dword [esp + 0x60]
add eax, ebx
mov ebx, dword [esp + 0x60]
adc edx, edi
add eax, esi
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x68]
adc edx, ecx
add eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
adc edx, dword [esp + 0x48]
add eax, dword [esp + 0x54]
adc edx, dword [esp + 4]
add eax, dword [esp + 8]
adc edx, dword [esp + 0xc]
add eax, dword [esp]
mov dword [esp + 0x44], eax
adc edx, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x48], edx
mul dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], edx
mul dword [esp + 0x50]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24c], edx
mul ecx
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x244], edx
mul esi
mov dword [esp + 0x238], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x23c], edx
mul edi
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x234], edx
mul ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mul dword [esp + 0x50]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], edx
mul ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], edx
mul esi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], edx
mul edi
mov esi, eax
mov eax, dword [esp + 0x10]
mov ecx, edx
mul ebx
mov ebx, dword [esp + 0x2c]
add eax, esi
mov esi, dword [esp + 0x3c]
adc edx, ecx
add eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
adc edx, dword [esp + 4]
add eax, dword [esp + 8]
adc edx, dword [esp + 0xc]
add eax, dword [esp + 0x20]
adc edx, dword [esp]
mov dword [esp + 0x20], eax
mov eax, ecx
mov dword [esp], edx
mul dword [esp + 0x38]
mov dword [esp + 0x22c], eax
mov eax, ebx
mov dword [esp + 0x38], edx
mul esi
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x228], edx
mul edi
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x220], edx
mul dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, ecx
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x60]
mul esi
mov esi, eax
mov eax, ebx
mov dword [esp + 0x10], edx
mul edi
mov ebx, eax
mov eax, dword [esp + 0x18]
mov edi, edx
mul ecx
add eax, ebx
mov ebx, dword [esp + 0x34]
adc edx, edi
add eax, esi
adc edx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov eax, ebx
mov dword [esp + 0xc], edx
mul dword [esp + 0x68]
mov esi, eax
mov eax, dword [esp + 0x2c]
mov edi, edx
mul ecx
add eax, esi
mov esi, dword [esp + 0x174]
mov dword [esp + 0x2c], eax
adc edx, edi
mov eax, ebx
mov dword [esp + 0x68], edx
mul ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov eax, 0x100000
add edx, eax
mov eax, dword [esp + 0xac]
adc esi, 0
mov edi, esi
mov ebx, esi
shr edi, 0x15
shld ebx, edx, 0xb
add ecx, dword [esp + 0x160]
adc eax, dword [esp + 0x214]
add ecx, ebx
mov ebx, 0x100000
adc eax, edi
add ecx, dword [esp + 0x7c]
adc eax, 0
and edx, 0xffe00000
mov dword [esp + 0xc4], ecx
sub dword [esp + 0xec], edx
mov edx, dword [esp + 0x180]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x74]
sbb dword [esp + 0x174], esi
mov esi, dword [esp + 0xfc]
add edx, ebx
mov edi, edx
adc esi, 0
mov ecx, esi
mov dword [esp + 0x214], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x98]
shr ecx, 0x15
add edx, dword [esp + 0xe0]
adc eax, dword [esp + 0x168]
add edx, dword [esp + 0x16c]
adc eax, dword [esp + 0x204]
add edx, dword [esp + 0x210]
adc eax, dword [esp + 0x218]
add edx, dword [esp + 0x80]
adc eax, 0
add edx, esi
mov esi, dword [esp + 0x17c]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x178]
adc eax, ecx
and edi, 0xffe00000
mov dword [esp + 0x210], edi
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xc0]
add edx, ebx
mov ebx, 0x100000
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x218], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0xbc]
sar ecx, 0x15
add edx, dword [esp + 0xd0]
adc eax, dword [esp + 0xd8]
add edx, dword [esp + 0x150]
adc eax, dword [esp + 0x154]
add edx, dword [esp + 0x158]
adc eax, dword [esp + 0x15c]
add edx, dword [esp + 0xdc]
adc eax, dword [esp + 0x164]
add edx, dword [esp + 0x170]
adc eax, dword [esp + 0x20c]
add edx, dword [esp + 0x84]
adc eax, 0
add edx, esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0xe4]
adc eax, ecx
and edi, 0xffe00000
mov dword [esp + 0x20c], edi
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x94]
add edx, ebx
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x50], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x90]
sar ecx, 0x15
add edx, dword [esp + 0x1fc]
adc eax, dword [esp + 0x128]
add edx, dword [esp + 0x12c]
adc eax, dword [esp + 0x130]
add edx, dword [esp + 0x134]
adc eax, dword [esp + 0xc8]
add edx, dword [esp + 0xcc]
adc eax, dword [esp + 0x138]
add edx, dword [esp + 0x13c]
adc eax, dword [esp + 0x140]
add edx, dword [esp + 0x144]
adc eax, dword [esp + 0x148]
add edx, dword [esp + 0x14c]
adc eax, dword [esp + 0xd4]
add edx, dword [esp + 0x8c]
adc eax, 0
add edx, esi
mov esi, dword [esp + 0xf8]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0xf4]
adc eax, ecx
and edi, 0xffe00000
mov dword [esp + 0x60], edi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xb8]
add edx, ebx
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x170], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x88]
sar ecx, 0x15
add edx, dword [esp + 0x1cc]
adc eax, dword [esp + 0x114]
add edx, dword [esp + 0x118]
adc eax, dword [esp + 0x11c]
add edx, dword [esp + 0x120]
adc eax, dword [esp + 0x124]
add edx, dword [esp + 0x1d0]
adc eax, dword [esp + 0x1d4]
add edx, dword [esp + 0x1d8]
adc eax, dword [esp + 0x1dc]
add edx, dword [esp + 0x1e0]
adc eax, dword [esp + 0x1e4]
add edx, dword [esp + 0x1e8]
adc eax, dword [esp + 0x1ec]
add edx, dword [esp + 0x1f0]
adc eax, dword [esp + 0x1f4]
add edx, dword [esp + 0x1f8]
adc eax, dword [esp + 0x200]
add edx, esi
mov esi, dword [esp + 0xb4]
adc eax, ecx
add edx, dword [esp + 0x208]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0xb0]
adc eax, 0
and edi, 0xffe00000
mov dword [esp + 0x168], edi
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
add edx, ebx
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x16c], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x4c]
sar ecx, 0x15
add edx, dword [esp + 0x29c]
adc eax, dword [esp + 0x2a0]
add edx, dword [esp + 0x2a4]
adc eax, dword [esp + 0x2a8]
add edx, dword [esp + 0x2ac]
adc eax, dword [esp + 0x2b0]
add edx, dword [esp + 0x2b4]
adc eax, dword [esp + 0x2b8]
add edx, dword [esp + 0x2bc]
adc eax, dword [esp + 0x1ac]
add edx, dword [esp + 0x1b0]
adc eax, dword [esp + 0x1b4]
add edx, dword [esp + 0x1b8]
adc eax, dword [esp + 0x1bc]
add edx, dword [esp + 0x1c0]
adc eax, dword [esp + 0x1c4]
add edx, dword [esp + 0x1c8]
adc eax, dword [esp + 0x100]
add edx, dword [esp + 0x104]
adc eax, dword [esp + 0x108]
add edx, dword [esp + 0x10c]
adc eax, dword [esp + 0x110]
add edx, dword [esp + 0xf0]
adc eax, 0
add edx, esi
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xa0]
adc eax, ecx
and edi, 0xffe00000
mov dword [esp + 0x164], edi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xa8]
add edx, ebx
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0xdc], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x70]
sar ecx, 0x15
add edx, dword [esp + 0x274]
adc eax, dword [esp + 0x278]
add edx, dword [esp + 0x27c]
adc eax, dword [esp + 0x280]
add edx, dword [esp + 0x284]
adc eax, dword [esp + 0x288]
add edx, dword [esp + 0x28c]
adc eax, dword [esp + 0x290]
add edx, dword [esp + 0x294]
adc eax, dword [esp + 0x298]
add edx, dword [esp + 0x194]
adc eax, dword [esp + 0x198]
add edx, dword [esp + 0x19c]
adc eax, dword [esp + 0x1a0]
add edx, dword [esp + 0x1a4]
adc eax, dword [esp + 0x1a8]
add edx, dword [esp + 0x58]
adc eax, dword [esp + 0x30]
add edx, esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x9c]
adc eax, ecx
and edi, 0xffe00000
add edx, ebx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x5c]
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x84], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x6c]
sar ecx, 0x15
add edx, dword [esp + 0x250]
adc eax, dword [esp + 0x254]
add edx, dword [esp + 0x258]
adc eax, dword [esp + 0x25c]
add edx, dword [esp + 0x260]
adc eax, dword [esp + 0x264]
add edx, dword [esp + 0x268]
adc eax, dword [esp + 0x26c]
add edx, dword [esp + 0x270]
adc eax, dword [esp + 0x184]
add edx, dword [esp + 0x188]
adc eax, dword [esp + 0x18c]
add edx, dword [esp + 0x190]
adc eax, dword [esp + 0x40]
add edx, esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x44]
adc eax, ecx
and edi, 0xffe00000
mov dword [esp + 0x80], edi
mov edi, 0x100000
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x28]
add edx, edi
adc esi, 0
mov ebx, edx
mov ecx, esi
mov dword [esp + 0x7c], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x24]
sar ecx, 0x15
add edx, dword [esp + 0x230]
adc eax, dword [esp + 0x234]
add edx, dword [esp + 0x238]
adc eax, dword [esp + 0x23c]
add edx, dword [esp + 0x240]
adc eax, dword [esp + 0x244]
add edx, dword [esp + 0x248]
adc eax, dword [esp + 0x24c]
add edx, dword [esp + 0x54]
adc eax, dword [esp + 0x14]
add edx, esi
mov esi, dword [esp]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 4]
adc eax, ecx
mov ecx, dword [esp + 0x20]
and ebx, 0xffe00000
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add ecx, edi
adc esi, 0
mov edi, esi
mov ebx, esi
sar edi, 0x15
shld ebx, ecx, 0xb
add edx, dword [esp + 0x21c]
adc eax, dword [esp + 0x220]
add edx, dword [esp + 0x224]
adc eax, dword [esp + 0x228]
add edx, dword [esp + 0x22c]
adc eax, dword [esp + 0x38]
add edx, ebx
mov dword [esp + 4], edx
mov edx, dword [esp + 8]
adc eax, edi
and ecx, 0xffe00000
sub dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
mov ecx, edx
mov eax, 0x100000
sbb dword [esp], esi
add ecx, eax
mov eax, dword [esp + 0xc]
mov esi, eax
adc esi, 0
mov edi, esi
mov ebx, esi
shld edi, ecx, 0xb
shr ebx, 0x15
add edi, dword [esp + 0x2c]
adc ebx, dword [esp + 0x68]
and ecx, 0xffe00000
and esi, 0x7fffffff
mov dword [esp + 0x38], edi
sub edx, ecx
sbb eax, esi
mov dword [esp + 8], edx
mov edx, dword [esp + 0x10]
mov esi, 0x100000
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], ebx
mov ecx, edx
add ecx, esi
mov edi, eax
adc edi, 0
mov ebx, edi
shr ebx, 0x15
mov dword [esp + 0xcc], ebx
mov ebx, edi
and edi, 0x7fffffff
shld ebx, ecx, 0xb
and ecx, 0xffe00000
sub edx, ecx
mov dword [esp + 0xc8], ebx
mov ebx, 0x100000
mov dword [esp + 0x10], edx
sbb eax, edi
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xac]
mov ecx, edx
add ecx, esi
mov edi, eax
adc edi, 0
mov esi, edi
shr esi, 0x15
mov dword [esp + 0x54], esi
mov esi, edi
shld esi, ecx, 0xb
and ecx, 0xffe00000
sub edx, ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0xc4], edx
sbb eax, edi
mov edx, dword [esp + 0x98]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x74]
mov ecx, edx
add ecx, ebx
mov edi, eax
adc edi, 0
mov esi, edi
sar esi, 0x15
mov dword [esp + 0x58], esi
mov esi, edi
shld esi, ecx, 0xb
and ecx, 0xffe00000
sub edx, ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x40], esi
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xbc]
sbb eax, edi
mov dword [esp + 0x74], eax
mov eax, 0x100000
add edx, eax
adc ecx, 0
mov esi, ecx
mov dword [esp + 0x208], ecx
shld ecx, edx, 0xb
and edx, 0xffe00000
mov dword [esp + 0x204], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x94]
sar esi, 0x15
mov dword [esp + 0x200], esi
add edx, eax
adc ecx, 0
mov esi, ecx
mov dword [esp + 0x14c], ecx
shld ecx, edx, 0xb
and edx, 0xffe00000
mov dword [esp + 0x148], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0xb8]
sar esi, 0x15
mov dword [esp + 0x134], esi
add edx, eax
adc ecx, 0
mov esi, ecx
mov dword [esp + 0xd4], ecx
shld ecx, edx, 0xb
and edx, 0xffe00000
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x64]
sar esi, 0x15
mov dword [esp + 0x144], esi
add edx, eax
adc ecx, 0
mov esi, ecx
mov dword [esp + 0x154], ecx
shld ecx, edx, 0xb
and edx, 0xffe00000
mov dword [esp + 0x150], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x1ec], ecx
mov ecx, dword [esp + 0xa8]
sar esi, 0x15
mov dword [esp + 0x1f0], esi
add edx, eax
adc ecx, 0
mov esi, ecx
mov dword [esp + 0x15c], ecx
shld ecx, edx, 0xb
and edx, 0xffe00000
mov dword [esp + 0x158], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x120], ecx
mov ecx, dword [esp + 0x5c]
sar esi, 0x15
mov dword [esp + 0x124], esi
add edx, eax
adc ecx, 0
mov esi, ecx
mov dword [esp + 0x160], ecx
shld ecx, edx, 0xb
and edx, 0xffe00000
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x128], ecx
sar esi, 0x15
mov dword [esp + 0x12c], esi
mov ecx, edx
add ecx, eax
mov eax, dword [esp + 0x28]
mov edi, eax
adc edi, 0
mov ebx, edi
mov esi, edi
shld ebx, ecx, 0xb
sar esi, 0x15
add ebx, dword [esp + 0x20]
adc esi, dword [esp]
and ecx, 0xffe00000
mov dword [esp + 0x1e0], ebx
sub edx, ecx
sbb eax, edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov eax, 0x100000
mov dword [esp + 0xf0], esi
mov esi, dword [esp + 4]
mov ebx, edi
mov ecx, esi
add ecx, eax
adc ebx, 0
mov edx, ebx
mov eax, ebx
shld edx, ecx, 0xb
sar eax, 0x15
add edx, dword [esp + 8]
adc eax, dword [esp + 0xc]
mov dword [esp + 0x118], edx
mov edx, dword [esp + 0x38]
and ecx, 0xffe00000
sub esi, ecx
mov ecx, 0x100000
sbb edi, ebx
mov dword [esp + 4], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x11c], eax
mov eax, edx
add eax, ecx
mov ecx, dword [esp + 0x3c]
mov ebx, ecx
adc ebx, 0
mov esi, ebx
mov edi, ebx
shld esi, eax, 0xb
shr edi, 0x15
add esi, dword [esp + 0x10]
adc edi, dword [esp + 0x18]
and eax, 0xffe00000
and ebx, 0x7fffffff
sub edx, eax
sbb ecx, ebx
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0x38], edx
mov edx, 0xa2c13
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xc8]
mov eax, ecx
mul edx
mov dword [esp + 0x13c], eax
imul eax, ebx, 0xa2c13
add eax, edx
mov edx, 0x72d18
mov dword [esp + 0x138], eax
mov eax, ecx
mul edx
mov dword [esp + 0x14], eax
imul eax, ebx, 0x72d18
add eax, edx
mov edx, 0x9fb67
mov dword [esp + 0x30], eax
mov eax, ecx
mul edx
mov dword [esp + 0xc], eax
imul eax, ebx, 0x9fb67
add eax, edx
mov edx, 0xfff0c653
mov dword [esp + 0x2c], eax
mov eax, ecx
mul edx
mov dword [esp + 0x34], eax
sub edx, ecx
imul eax, ebx, 0xfff0c653
add eax, edx
mov edx, 0x215d1
mov dword [esp + 8], eax
mov eax, ecx
mul edx
mov dword [esp], eax
imul eax, ebx, 0x215d1
add eax, edx
mov edx, 0xfff59083
mov dword [esp + 0x10], eax
mov eax, ecx
mul edx
sub edx, ecx
imul ecx, ebx, 0xfff59083
add ecx, edx
add eax, dword [esp + 0x44]
adc ecx, dword [esp + 0x48]
sub eax, dword [esp + 0x8c]
sbb ecx, dword [esp + 0x7c]
add eax, dword [esp + 0x128]
adc ecx, dword [esp + 0x12c]
mov dword [esp + 0x48], eax
mov eax, esi
mov dword [esp + 0x44], ecx
mov ecx, 0xa2c13
mul ecx
mov ecx, 0x72d18
mov dword [esp + 0x1d4], eax
imul eax, edi, 0xa2c13
add edx, eax
mov eax, esi
mov dword [esp + 0x1d0], edx
mul ecx
mov ecx, 0x9fb67
mov dword [esp + 0x20], eax
imul eax, edi, 0x72d18
add edx, eax
mov eax, esi
mov dword [esp + 0x18], edx
mul ecx
mov ecx, 0xfff0c653
mov dword [esp + 0x1cc], eax
imul eax, edi, 0x9fb67
add edx, eax
mov eax, esi
mov dword [esp + 0x10c], edx
mul ecx
mov ecx, 0x215d1
mov dword [esp + 0x12c], eax
sub edx, esi
imul eax, edi, 0xfff0c653
add eax, edx
mov dword [esp + 0x128], eax
mov eax, esi
mul ecx
mov ecx, 0xfff59083
mov dword [esp + 0x114], eax
mov ebx, edx
imul eax, edi, 0x215d1
add ebx, eax
mov eax, esi
mul ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xcc], eax
imul eax, edi, 0xfff59083
mov edi, dword [esp + 0x38]
sub edx, esi
mov esi, 0xa2c13
add eax, edx
mov dword [esp + 0xc8], eax
mov eax, edi
mul esi
mov dword [esp + 0x1dc], eax
imul eax, ecx, 0xa2c13
add edx, eax
mov eax, edi
mov dword [esp + 0x1d8], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x8c], eax
imul eax, ecx, 0x72d18
add edx, eax
mov eax, edi
mov dword [esp + 0x7c], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x1e8], eax
imul eax, ecx, 0x9fb67
add edx, eax
mov eax, edi
mov dword [esp + 0x1e4], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x1bc], eax
sub edx, edi
imul eax, ecx, 0xfff0c653
add edx, eax
mov eax, edi
mov dword [esp + 0x1b8], edx
mov edx, 0x215d1
mul edx
mov dword [esp + 0x1f8], eax
imul eax, ecx, 0x215d1
imul ecx, ecx, 0xfff59083
add edx, eax
mov eax, edi
mov dword [esp + 0x1f4], edx
mov edx, 0xfff59083
mul edx
sub edx, edi
mov edi, dword [esp + 8]
add edx, ecx
mov ecx, dword [esp + 0x34]
add ecx, dword [esp + 0x9c]
adc edi, dword [esp + 0x78]
sub ecx, dword [esp + 0x80]
sbb edi, dword [esp + 0x84]
add ecx, dword [esp + 0x120]
adc edi, dword [esp + 0x124]
add ecx, dword [esp + 0x114]
adc edi, ebx
mov ebx, dword [esp + 0x118]
add ecx, eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x11c]
adc edi, edx
mov dword [esp + 8], edi
mov edi, 0xa2c13
mov eax, ebx
mul esi
mov dword [esp + 0x1c4], eax
imul eax, ecx, 0xa2c13
add edx, eax
mov eax, ebx
mov dword [esp + 0x1c0], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x38], eax
imul eax, ecx, 0x72d18
add edx, eax
mov eax, ebx
mov dword [esp + 0x3c], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x100], eax
imul eax, ecx, 0x9fb67
add edx, eax
mov eax, ebx
mov dword [esp + 0x1c8], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x124], eax
sub edx, ebx
imul eax, ecx, 0xfff0c653
add edx, eax
mov eax, ebx
mov dword [esp + 0x120], edx
mov edx, 0x215d1
mul edx
mov dword [esp + 0x1ac], eax
mov esi, edx
imul eax, ecx, 0x215d1
mov edx, 0xfff59083
add esi, eax
mov eax, ebx
mul edx
mov dword [esp + 0x78], eax
imul eax, ecx, 0xfff59083
mov ecx, dword [esp + 4]
sub edx, ebx
mov ebx, dword [esp + 0xf0]
add edx, eax
mov dword [esp + 0x9c], edx
mov eax, ecx
mul edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x108], eax
imul eax, edi, 0xa2c13
add edx, eax
mov eax, ecx
mov dword [esp + 0x104], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x80], eax
imul eax, edi, 0x72d18
add edx, eax
mov eax, ecx
mov dword [esp + 0x84], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x114], eax
imul eax, edi, 0x9fb67
add edx, eax
mov eax, ecx
mov dword [esp + 0x110], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x1b4], eax
mov eax, ecx
sub edx, ecx
imul ecx, edi, 0xfff0c653
add edx, ecx
mov ecx, eax
mov dword [esp + 0x1b0], edx
mov edx, 0x215d1
mul edx
mov dword [esp + 0x11c], eax
imul eax, edi, 0x215d1
imul edi, edi, 0xfff59083
add edx, eax
mov eax, ecx
mov dword [esp + 0x118], edx
mov edx, 0xfff59083
mul edx
sub edx, ecx
mov ecx, dword [esp + 0x14]
add edx, edi
mov edi, dword [esp + 0x30]
add ecx, dword [esp + 0xa0]
adc edi, dword [esp + 0xa4]
sub ecx, dword [esp + 0xd8]
sbb edi, dword [esp + 0xdc]
add ecx, dword [esp + 0x1cc]
adc edi, dword [esp + 0x10c]
add ecx, dword [esp + 0x1bc]
adc edi, dword [esp + 0x1b8]
add ecx, dword [esp + 0x1ac]
adc edi, esi
add ecx, eax
mov esi, dword [esp + 0x1e0]
adc edi, edx
add ecx, dword [esp + 0x1ec]
mov eax, esi
mov dword [esp + 0x14], ecx
mov ecx, 0xa2c13
adc edi, dword [esp + 0x1f0]
mul ecx
imul ecx, ebx, 0xa2c13
add edx, ecx
add eax, dword [esp + 0x1fc]
mov ecx, 0x72d18
mov dword [esp + 0x30], edi
adc edx, dword [esp + 0x200]
add eax, dword [esp + 0xe4]
adc edx, dword [esp + 0xe8]
sub eax, dword [esp + 0x60]
sbb edx, dword [esp + 0x50]
mov dword [esp + 0xe4], eax
mov eax, esi
imul edi, ebx, 0x9fb67
mov dword [esp + 0xe8], edx
mul ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x60], eax
imul eax, ebx, 0x72d18
add edx, eax
mov eax, esi
mov dword [esp + 0x50], edx
mov edx, 0x9fb67
mul edx
add edx, edi
mov edi, dword [esp + 0x80]
add edi, dword [esp + 0x1c4]
adc ecx, dword [esp + 0x1c0]
add edi, eax
mov eax, esi
adc ecx, edx
add edi, dword [esp + 0xf4]
adc ecx, dword [esp + 0xf8]
add edi, dword [esp + 0x130]
adc ecx, dword [esp + 0x134]
sub edi, dword [esp + 0x168]
sbb ecx, dword [esp + 0x170]
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x84], ecx
mov ecx, 0xfff0c653
imul ebx, edi, 0x215d1
mul ecx
mov ecx, 0x215d1
mov dword [esp + 0x1c], eax
sub edx, esi
imul eax, edi, 0xfff0c653
add edx, eax
mov eax, esi
mov dword [esp + 0xa0], edx
mul ecx
mov ecx, eax
mov eax, dword [esp + 0x8c]
add edx, ebx
mov ebx, dword [esp + 0x7c]
add eax, dword [esp + 0x1d4]
adc ebx, dword [esp + 0x1d0]
add eax, dword [esp + 0x100]
adc ebx, dword [esp + 0x1c8]
add eax, dword [esp + 0x1b4]
adc ebx, dword [esp + 0x1b0]
add eax, ecx
mov ecx, 0xfff59083
adc ebx, edx
add eax, dword [esp + 0xb0]
adc ebx, dword [esp + 0xb4]
add eax, dword [esp + 0x140]
adc ebx, dword [esp + 0x144]
sub eax, dword [esp + 0x164]
mov dword [esp + 0x8c], eax
mov eax, esi
sbb ebx, dword [esp + 0x16c]
mul ecx
mov ecx, dword [esp + 0x50]
sub edx, esi
imul esi, edi, 0xfff59083
mov dword [esp + 4], eax
mov eax, 0x100000
add edx, esi
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0xe8]
add edx, eax
mov eax, dword [esp + 0x60]
adc ebx, 0
mov esi, ebx
mov dword [esp + 0xf8], ebx
shld ebx, edx, 0xb
sar esi, 0x15
add eax, dword [esp + 0x108]
adc ecx, dword [esp + 0x104]
add eax, dword [esp + 0x90]
adc ecx, dword [esp + 0x94]
sub eax, dword [esp + 0x148]
sbb ecx, dword [esp + 0x14c]
add eax, ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x60], eax
mov eax, 0x100000
adc ecx, esi
and edx, 0xffe00000
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xf4], edx
add ecx, eax
mov eax, dword [esp + 0x3c]
adc ebx, 0
mov edx, ecx
mov esi, ebx
mov dword [esp + 0xb4], ebx
shld ebx, ecx, 0xb
mov ecx, dword [esp + 0x38]
sar esi, 0x15
add ecx, dword [esp + 0x1dc]
adc eax, dword [esp + 0x1d8]
add ecx, dword [esp + 0x114]
adc eax, dword [esp + 0x110]
add ecx, dword [esp + 0x1c]
adc eax, dword [esp + 0xa0]
add ecx, dword [esp + 0x88]
adc eax, dword [esp + 0xb8]
add ecx, ebx
adc eax, esi
sub ecx, dword [esp + 0xd0]
sbb eax, dword [esp + 0xd4]
and edx, 0xffe00000
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov eax, 0x100000
mov dword [esp + 0xb0], edx
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x20]
add edi, eax
adc esi, 0
mov edx, edi
mov ecx, esi
mov dword [esp + 0x1c], esi
shld esi, edi, 0xb
mov edi, dword [esp + 0x18]
sar ecx, 0x15
add ebx, dword [esp + 0x13c]
adc edi, dword [esp + 0x138]
add ebx, dword [esp + 0x1e8]
adc edi, dword [esp + 0x1e4]
add ebx, dword [esp + 0x124]
adc edi, dword [esp + 0x120]
add ebx, dword [esp + 0x11c]
adc edi, dword [esp + 0x118]
add ebx, dword [esp + 4]
adc edi, dword [esp + 0xa4]
add ebx, dword [esp + 0x4c]
adc edi, dword [esp + 0x64]
sub ebx, dword [esp + 0x150]
sbb edi, dword [esp + 0x154]
add ebx, esi
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x2c]
adc edi, ecx
mov ecx, dword [esp + 0x14]
and edx, 0xffe00000
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0xc]
mov dword [esp + 4], edx
add ecx, eax
mov eax, dword [esp + 0x30]
adc eax, 0
mov edx, eax
mov esi, eax
sar edx, 0x15
shld esi, ecx, 0xb
add edi, dword [esp + 0x70]
adc ebx, dword [esp + 0xa8]
sub edi, dword [esp + 0x158]
sbb ebx, dword [esp + 0x15c]
add edi, dword [esp + 0x12c]
adc ebx, dword [esp + 0x128]
add edi, dword [esp + 0x1f8]
adc ebx, dword [esp + 0x1f4]
add edi, dword [esp + 0x78]
adc ebx, dword [esp + 0x9c]
add edi, esi
mov dword [esp + 0xc], edi
mov edi, dword [esp]
adc ebx, edx
and ecx, 0xffe00000
sub dword [esp + 0x14], ecx
mov ecx, 0x100000
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x10]
sbb dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
add eax, ecx
mov ecx, dword [esp + 8]
adc ecx, 0
mov edx, ecx
mov esi, ecx
sar edx, 0x15
shld esi, eax, 0xb
add edi, dword [esp + 0x6c]
adc ebx, dword [esp + 0x5c]
sub edi, dword [esp + 0xe0]
sbb ebx, dword [esp + 0x160]
add edi, dword [esp + 0xcc]
adc ebx, dword [esp + 0xc8]
add edi, esi
mov dword [esp], edi
adc ebx, edx
and eax, 0xffe00000
mov edx, dword [esp + 0x48]
sub dword [esp + 0x34], eax
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x44]
mov eax, edx
sbb dword [esp + 8], ecx
mov ecx, 0x100000
add eax, ecx
mov ecx, ebx
adc ecx, 0
mov edi, ecx
mov esi, ecx
shld edi, eax, 0xb
sar esi, 0x15
add edi, dword [esp + 0x24]
adc esi, dword [esp + 0x28]
and eax, 0xffe00000
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x18]
sub edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x60]
sbb ebx, ecx
mov ecx, 0x100000
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x94], esi
add edx, ecx
adc eax, 0
mov esi, eax
mov dword [esp + 0xa8], eax
shld eax, edx, 0xb
and edx, 0xffe00000
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x3c]
sar esi, 0x15
mov dword [esp + 0x4c], esi
add edx, ecx
adc eax, 0
mov esi, eax
mov dword [esp + 0xb8], eax
shld eax, edx, 0xb
and edx, 0xffe00000
sar esi, 0x15
mov dword [esp + 0x24], eax
mov eax, ebx
mov dword [esp + 0x88], edx
mov dword [esp + 0x28], esi
add eax, ecx
mov esi, edi
adc esi, 0
mov edx, esi
mov ecx, esi
shld edx, eax, 0xb
sar ecx, 0x15
add edx, dword [esp + 0x14]
adc ecx, dword [esp + 0x30]
and eax, 0xffe00000
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0xc]
sub ebx, eax
sbb edi, esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x78], ecx
mov eax, edx
mov ecx, 0x100000
add eax, ecx
mov ecx, esi
adc ecx, 0
mov ebx, ecx
mov edi, ecx
shld ebx, eax, 0xb
sar edi, 0x15
add ebx, dword [esp + 0x34]
adc edi, dword [esp + 8]
and eax, 0xffe00000
mov dword [esp + 0xd0], ebx
sub edx, eax
sbb esi, ecx
mov ecx, 0x100000
mov dword [esp + 0xc], edx
mov dword [esp + 0x2c], esi
mov esi, dword [esp]
mov dword [esp + 0xd4], edi
mov edi, dword [esp + 0x10]
mov eax, esi
add eax, ecx
mov edx, edi
adc edx, 0
mov ebx, edx
mov ecx, edx
shld ebx, eax, 0xb
sar ecx, 0x15
add ebx, dword [esp + 0x48]
adc ecx, dword [esp + 0x44]
and eax, 0xffe00000
sub esi, eax
sbb edi, edx
mov dword [esp], esi
mov esi, dword [esp + 0x94]
mov edx, 0xa2c13
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x90]
mov eax, edi
mul edx
mov dword [esp + 0x30], eax
imul eax, esi, 0xa2c13
add edx, eax
mov eax, edi
mov dword [esp + 0x64], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x15c], eax
imul eax, esi, 0x72d18
add edx, eax
mov eax, edi
mov dword [esp + 0x158], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x48], eax
imul eax, esi, 0x9fb67
add edx, eax
mov eax, edi
mov dword [esp + 0x44], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0xdc], eax
sub edx, edi
imul eax, esi, 0xfff0c653
add eax, edx
mov edx, 0x215d1
mov dword [esp + 0xd8], eax
mov eax, edi
mul edx
mov dword [esp + 0x5c], eax
imul eax, esi, 0x215d1
imul esi, esi, 0xfff59083
add edx, eax
mov eax, edi
mov dword [esp + 0x6c], edx
mov edx, 0xfff59083
mul edx
sub edx, edi
add esi, edx
add eax, dword [esp + 0x8c]
mov edx, 0xa2c13
adc esi, dword [esp + 0x7c]
add eax, dword [esp + 0x24]
adc esi, dword [esp + 0x28]
sub eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov eax, ebx
sbb esi, dword [esp + 0x1c]
mul edx
mov dword [esp + 0x164], eax
imul eax, ecx, 0xa2c13
add edx, eax
mov eax, ebx
mov dword [esp + 0x160], edx
mov edx, 0x72d18
mov dword [esp + 0x90], esi
mov esi, dword [esp]
mul edx
mov dword [esp + 0x7c], eax
imul eax, ecx, 0x72d18
add edx, eax
mov eax, ebx
mov dword [esp + 0x8c], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x14], eax
imul eax, ecx, 0x9fb67
add edx, eax
mov eax, ebx
mov dword [esp + 4], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x34], eax
sub edx, ebx
imul eax, ecx, 0xfff0c653
add eax, edx
mov edx, 0x215d1
mov dword [esp + 8], eax
mov eax, ebx
mul edx
mov edi, eax
imul eax, ecx, 0x215d1
add edx, eax
mov eax, ebx
mov dword [esp + 0x1c], edx
mov edx, 0xfff59083
mul edx
sub edx, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
imul eax, ecx, 0xfff59083
mov ecx, 0xa2c13
add eax, edx
mov dword [esp + 0x24], eax
mov eax, esi
mul ecx
imul ecx, ebx, 0xa2c13
add edx, ecx
add eax, dword [esp + 0x98]
adc edx, dword [esp + 0x74]
mov dword [esp + 0x168], eax
mov eax, esi
imul ecx, ebx, 0xfff59083
mov dword [esp + 0x16c], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x154], eax
imul eax, ebx, 0x72d18
add edx, eax
mov eax, esi
mov dword [esp + 0x150], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0xf0], eax
imul eax, ebx, 0x9fb67
add edx, eax
mov eax, esi
mov dword [esp + 0x170], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x74], eax
sub edx, esi
imul eax, ebx, 0xfff0c653
add edx, eax
mov eax, esi
mov dword [esp + 0x98], edx
mov edx, 0x215d1
mul edx
mov dword [esp + 0xa4], eax
imul eax, ebx, 0x215d1
mov ebx, dword [esp + 0xd0]
add edx, eax
mov eax, esi
mov dword [esp + 0xa0], edx
mov edx, 0xfff59083
mul edx
sub edx, esi
mov esi, dword [esp + 0x1c]
add edx, ecx
add edi, dword [esp + 0xdc]
mov ecx, 0xa2c13
adc esi, dword [esp + 0xd8]
add edi, eax
mov eax, ebx
adc esi, edx
add edi, dword [esp + 0x80]
adc esi, dword [esp + 0x84]
add edi, dword [esp + 0xe0]
adc esi, dword [esp + 0x4c]
sub edi, dword [esp + 0xb0]
sbb esi, dword [esp + 0xb4]
mul ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x4c], edi
mov edi, 0x72d18
mov dword [esp], eax
imul eax, ecx, 0xa2c13
mov dword [esp + 0x1c], esi
add edx, eax
mov eax, ebx
mov dword [esp + 0x10], edx
mul edi
mov dword [esp + 0x84], eax
imul eax, ecx, 0x72d18
add edx, eax
mov eax, ebx
mov dword [esp + 0xd8], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x80], eax
imul eax, ecx, 0x9fb67
add edx, eax
mov eax, ebx
mov dword [esp + 0x144], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0xe0], eax
sub edx, ebx
imul eax, ecx, 0xfff0c653
add eax, edx
mov edx, 0x215d1
mov dword [esp + 0xdc], eax
mov eax, ebx
mul edx
mov dword [esp + 0x130], eax
mov esi, edx
imul eax, ecx, 0x215d1
mov edx, 0xfff59083
add esi, eax
mov eax, ebx
mul edx
sub edx, ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xb4], eax
imul eax, ecx, 0xfff59083
mov ecx, 0xa2c13
add eax, edx
mov dword [esp + 0xb0], eax
mov eax, ebx
mul ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x140], eax
imul eax, ecx, 0xa2c13
add edx, eax
mov eax, ebx
mov dword [esp + 0x13c], edx
mul edi
mov edi, ecx
mov dword [esp + 0xc8], eax
imul eax, ecx, 0x72d18
imul edi, edi, 0xfff59083
add edx, eax
mov eax, ebx
mov dword [esp + 0x134], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x14c], eax
imul eax, ecx, 0x9fb67
add edx, eax
mov eax, ebx
mov dword [esp + 0x148], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x138], eax
sub edx, ebx
imul eax, ecx, 0xfff0c653
add edx, eax
mov eax, ebx
mov dword [esp + 0xcc], edx
mov edx, 0x215d1
mul edx
mov dword [esp + 0xd4], eax
imul eax, ecx, 0x215d1
mov ecx, 0xfff59083
add edx, eax
mov eax, ebx
mov dword [esp + 0xd0], edx
mul ecx
mov ecx, eax
mov eax, dword [esp + 0x14]
sub edx, ebx
mov ebx, dword [esp + 0x9c]
add edx, edi
mov edi, dword [esp + 4]
add eax, dword [esp + 0x15c]
adc edi, dword [esp + 0x158]
add eax, dword [esp + 0x74]
adc edi, dword [esp + 0x98]
add eax, dword [esp + 0xe4]
adc edi, dword [esp + 0xe8]
sub eax, dword [esp + 0xf4]
sbb edi, dword [esp + 0xf8]
add eax, dword [esp + 0x130]
adc edi, esi
add eax, ecx
mov ecx, dword [esp + 0x78]
adc edi, edx
mov dword [esp + 0x14], eax
mov eax, ebx
mov edx, 0xa2c13
mov dword [esp + 4], edi
mul edx
imul edi, ecx, 0xa2c13
add edx, edi
add eax, dword [esp + 0xec]
mov edi, dword [esp + 0x68]
adc edx, dword [esp + 0x174]
mov dword [esp + 0x98], eax
mov eax, ebx
imul esi, ecx, 0x9fb67
mov dword [esp + 0x74], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x2c], eax
imul eax, ecx, 0x72d18
add edx, eax
mov eax, ebx
mov dword [esp + 0xc], edx
mov edx, 0x9fb67
mul edx
add edx, esi
add edi, dword [esp + 0x180]
mov esi, dword [esp + 0x54]
adc esi, dword [esp + 0xfc]
sub edi, dword [esp + 0x210]
sbb esi, dword [esp + 0x214]
add edi, eax
mov eax, ebx
adc esi, edx
add edi, dword [esp]
mov edx, 0xfff0c653
adc esi, dword [esp + 0x10]
add edi, dword [esp + 0xc8]
adc esi, dword [esp + 0x134]
mul edx
mov dword [esp + 0x68], edi
mov edi, ecx
mov dword [esp], eax
sub edx, ebx
imul eax, ecx, 0xfff0c653
add eax, edx
mov edx, 0x215d1
mov dword [esp + 0x10], eax
mov eax, ebx
mov dword [esp + 0x54], esi
imul esi, ecx, 0x215d1
mul edx
mov ecx, dword [esp + 0x58]
add edx, esi
mov esi, dword [esp + 0x40]
add esi, dword [esp + 0x178]
adc ecx, dword [esp + 0x17c]
sub esi, dword [esp + 0x20c]
sbb ecx, dword [esp + 0x218]
add esi, dword [esp + 0x164]
adc ecx, dword [esp + 0x160]
add esi, dword [esp + 0x154]
adc ecx, dword [esp + 0x150]
add esi, eax
mov eax, ebx
adc ecx, edx
add esi, dword [esp + 0x80]
adc ecx, dword [esp + 0x144]
add esi, dword [esp + 0x138]
adc ecx, dword [esp + 0xcc]
mov dword [esp + 0x40], esi
mov esi, 0x100000
mov dword [esp + 0x58], ecx
mov ecx, 0xfff59083
mul ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xec], eax
sub edx, ebx
imul eax, edi, 0xfff59083
add eax, edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xc]
add edx, esi
mov esi, dword [esp + 0x74]
adc esi, 0
mov edi, esi
mov ebx, esi
sar edi, 0x15
shld ebx, edx, 0xb
add ecx, dword [esp + 0xc4]
adc eax, dword [esp + 0xac]
add ecx, dword [esp + 0x140]
adc eax, dword [esp + 0x13c]
add ecx, ebx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x68]
adc eax, edi
and edx, 0xffe00000
mov edi, 0x100000
sub dword [esp + 0x98], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
sbb dword [esp + 0x74], esi
mov esi, dword [esp + 0x54]
add ecx, edi
mov ebx, ecx
adc esi, 0
mov edx, esi
mov dword [esp + 0x80], esi
shld esi, ecx, 0xb
mov ecx, dword [esp]
sar edx, 0x15
add ecx, dword [esp + 0x168]
adc eax, dword [esp + 0x16c]
add ecx, dword [esp + 0x84]
adc eax, dword [esp + 0xd8]
add ecx, dword [esp + 0x14c]
adc eax, dword [esp + 0x148]
add ecx, esi
mov esi, dword [esp + 0x58]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
adc eax, edx
and ebx, 0xffe00000
add ecx, edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x174], ebx
mov ebx, 0x100000
adc esi, 0
mov edx, esi
mov dword [esp + 0x84], esi
shld esi, ecx, 0xb
sar edx, 0x15
add edi, dword [esp + 0xbc]
adc eax, dword [esp + 0xc0]
add edi, dword [esp + 0x7c]
adc eax, dword [esp + 0x8c]
add edi, dword [esp + 0xf0]
adc eax, dword [esp + 0x170]
sub edi, dword [esp + 0x204]
sbb eax, dword [esp + 0x208]
add edi, dword [esp + 0xec]
adc eax, dword [esp + 0xfc]
add edi, dword [esp + 0xe0]
adc eax, dword [esp + 0xdc]
add edi, dword [esp + 0xd4]
adc eax, dword [esp + 0xd0]
add edi, esi
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x34]
adc eax, edx
and ecx, 0xffe00000
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 4]
add ecx, ebx
mov ebx, dword [esp + 8]
adc eax, 0
mov edx, eax
mov esi, eax
sar edx, 0x15
shld esi, ecx, 0xb
add edi, dword [esp + 0x48]
adc ebx, dword [esp + 0x44]
add edi, dword [esp + 0xa4]
adc ebx, dword [esp + 0xa0]
add edi, dword [esp + 0x60]
adc ebx, dword [esp + 0x50]
sub edi, dword [esp + 0x70]
sbb ebx, dword [esp + 0xa8]
add edi, dword [esp + 0xb4]
adc ebx, dword [esp + 0xb0]
add edi, esi
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x28]
adc ebx, edx
and ecx, 0xffe00000
sub dword [esp + 0x14], ecx
mov ecx, 0x100000
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x24]
sbb dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
add eax, ecx
mov ecx, dword [esp + 0x1c]
adc ecx, 0
mov edx, ecx
mov esi, ecx
sar edx, 0x15
shld esi, eax, 0xb
add edi, dword [esp + 0x5c]
adc ebx, dword [esp + 0x6c]
add edi, dword [esp + 0x38]
adc ebx, dword [esp + 0x3c]
add edi, esi
mov esi, dword [esp + 0x94]
adc ebx, edx
sub edi, dword [esp + 0x88]
mov edx, dword [esp + 0x90]
sbb ebx, dword [esp + 0xb8]
and eax, 0xffe00000
mov dword [esp + 0x28], edi
mov edi, dword [esp + 8]
sub dword [esp + 0x4c], eax
mov eax, 0x100000
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x34]
sbb dword [esp + 0x1c], ecx
add esi, eax
adc edx, 0
mov ecx, edx
mov dword [esp + 0xc0], edx
shld edx, esi, 0xb
sar ecx, 0x15
add edx, dword [esp + 0x20]
adc ecx, dword [esp + 0x18]
and esi, 0xffe00000
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xb8], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x3c], ecx
add esi, eax
adc edx, 0
mov ecx, edx
mov dword [esp + 0x17c], edx
sar ecx, 0x15
mov dword [esp + 0xfc], ecx
mov ecx, edx
mov edx, dword [esp + 0x10]
shld ecx, esi, 0xb
and esi, 0xffe00000
mov dword [esp + 0x178], esi
mov esi, dword [esp]
mov dword [esp + 0x180], ecx
add esi, eax
adc edx, 0
mov ecx, edx
mov dword [esp + 0x48], edx
sar ecx, 0x15
mov dword [esp + 0x7c], ecx
mov ecx, edx
mov edx, dword [esp + 0x30]
shld ecx, esi, 0xb
and esi, 0xffe00000
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x44], esi
mov esi, 0x100000
add edx, eax
adc ecx, 0
mov eax, ecx
mov dword [esp + 0x6c], ecx
shld ecx, edx, 0xb
sar eax, 0x15
add ecx, dword [esp + 0x14]
adc eax, dword [esp + 4]
and edx, 0xffe00000
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x70], eax
mov eax, ebx
add eax, esi
mov esi, edi
adc esi, 0
mov edx, esi
mov ecx, esi
shld edx, eax, 0xb
sar ecx, 0x15
add edx, dword [esp + 0x4c]
adc ecx, dword [esp + 0x1c]
and eax, 0xffe00000
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x28]
sub ebx, eax
sbb edi, esi
mov dword [esp + 0x34], ebx
mov dword [esp + 8], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x88], ecx
mov eax, edx
mov ecx, 0x100000
add eax, ecx
mov ecx, edi
adc ecx, 0
mov esi, ecx
sar esi, 0x15
mov dword [esp + 0x20], esi
mov esi, ecx
shld esi, eax, 0xb
and eax, 0xffe00000
sub edx, eax
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x3c]
sbb edi, ecx
mov dword [esp + 0x24], edi
mov edi, 0x100000
add edi, esi
mov eax, edx
adc eax, 0
mov ecx, eax
sar ecx, 0x15
mov ebx, ecx
mov ecx, eax
shld ecx, edi, 0xb
and edi, 0xffe00000
mov dword [esp + 4], ebx
sub esi, edi
mov edi, ebx
sbb edx, eax
mov eax, ecx
mov dword [esp + 0x38], esi
imul esi, ebx, 0xa2c13
mov dword [esp + 0x3c], edx
mov edx, 0xa2c13
mul edx
add esi, edx
add eax, dword [esp + 0x98]
mov edx, 0x72d18
adc esi, dword [esp + 0x74]
mov dword [esp + 0x14], eax
mov eax, ecx
imul ebx, ebx, 0x72d18
mul edx
mov dword [esp + 0x18], eax
add ebx, edx
mov eax, ecx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0xc4], esi
imul esi, edi, 0x9fb67
mov dword [esp + 0x50], eax
mov eax, ecx
add esi, edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x60], eax
imul eax, edi, 0xfff0c653
sub edx, ecx
imul edi, dword [esp + 4], 0x215d1
add eax, edx
mov edx, 0x215d1
mov dword [esp + 0x74], eax
mov eax, ecx
mul edx
mov dword [esp + 0xac], eax
add edi, edx
mov eax, ecx
mov edx, 0xfff59083
mul edx
mov dword [esp + 0x4c], eax
imul eax, dword [esp + 4], 0xfff59083
sub edx, ecx
add eax, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov ecx, eax
shld eax, edx, 0xb
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x18]
sar ecx, 0x15
add eax, dword [esp + 0x2c]
adc ebx, dword [esp + 0xc]
sub eax, dword [esp + 0x178]
sbb ebx, dword [esp + 0x17c]
add eax, dword [esp + 0xc4]
adc ebx, ecx
mov dword [esp + 0x18], eax
and edx, 0x1fffff
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov eax, ebx
sar eax, 0x15
shld ebx, ecx, 0xb
add edx, dword [esp + 0x68]
adc esi, dword [esp + 0x54]
sub edx, dword [esp + 0x174]
sbb esi, dword [esp + 0x80]
add edx, dword [esp + 0x180]
adc esi, dword [esp + 0xfc]
add edx, ebx
mov ebx, dword [esp + 0x74]
adc esi, eax
and ecx, 0x1fffff
mov eax, esi
mov dword [esp + 0x18], ecx
mov ecx, edx
shld esi, edx, 0xb
mov edx, dword [esp + 0x60]
sar eax, 0x15
add edx, dword [esp]
adc ebx, dword [esp + 0x10]
sub edx, dword [esp + 0x44]
sbb ebx, dword [esp + 0x48]
add edx, esi
mov esi, dword [esp + 0x4c]
adc ebx, eax
and ecx, 0x1fffff
mov eax, ebx
mov dword [esp + 0x50], ecx
shld ebx, edx, 0xb
mov ecx, edx
mov edx, dword [esp + 0xac]
sar eax, 0x15
add edx, dword [esp + 0x40]
adc edi, dword [esp + 0x58]
sub edx, dword [esp + 0xbc]
sbb edi, dword [esp + 0x84]
add edx, dword [esp + 0xec]
adc edi, dword [esp + 0x7c]
add edx, ebx
adc edi, eax
and ecx, 0x1fffff
mov eax, edi
mov dword [esp + 0x60], ecx
shld edi, edx, 0xb
mov ecx, dword [esp + 4]
sar eax, 0x15
add esi, dword [esp + 0x30]
adc ecx, dword [esp + 0x64]
sub esi, dword [esp + 0x8c]
sbb ecx, dword [esp + 0x6c]
add esi, edi
mov edi, dword [esp + 0x1c]
adc ecx, eax
and edx, 0x1fffff
mov eax, ecx
shld ecx, esi, 0xb
mov dword [esp + 0xac], edx
sar eax, 0x15
add ecx, dword [esp + 0x5c]
adc eax, dword [esp + 0x70]
mov edx, ecx
and esi, 0x1fffff
mov dword [esp + 0x4c], esi
mov ecx, eax
shld eax, edx, 0xb
sar ecx, 0x15
add eax, dword [esp + 0x34]
adc ecx, dword [esp + 8]
and edx, 0x1fffff
mov dword [esp + 4], edx
mov edx, ecx
shld ecx, eax, 0xb
sar edx, 0x15
add ecx, dword [esp + 0xa8]
adc edx, dword [esp + 0x88]
and eax, 0x1fffff
mov dword [esp], eax
mov eax, edx
shld edx, ecx, 0xb
sar eax, 0x15
add edx, dword [esp + 0x28]
adc eax, dword [esp + 0x24]
and ecx, 0x1fffff
mov esi, edx
mov dword [esp + 0x24], ecx
mov ecx, eax
shld eax, edx, 0xb
mov edx, dword [esp + 0x20]
sar ecx, 0x15
add edi, dword [esp + 0x94]
adc edx, dword [esp + 0x90]
sub edi, dword [esp + 0xb8]
sbb edx, dword [esp + 0xc0]
add edi, eax
adc edx, ecx
and esi, 0x1fffff
mov ecx, edx
shld edx, edi, 0xb
mov dword [esp + 0x10], esi
sar ecx, 0x15
add edx, dword [esp + 0x38]
adc ecx, dword [esp + 0x3c]
and edi, 0x1fffff
mov dword [esp + 0x1c], edi
mov edi, ecx
sar ecx, 0x15
shld edi, edx, 0xb
and edx, 0x1fffff
mov dword [esp + 0x20], edx
mov eax, edi
mov edx, 0xa2c13
mul edx
mov ebx, edx
imul edx, ecx, 0xa2c13
add eax, dword [esp + 0x14]
adc ebx, edx
mov dword [esp + 0x28], eax
mov eax, edi
mov edx, 0x72d18
imul esi, ecx, 0x72d18
mul edx
add eax, dword [esp + 0x18]
adc edx, esi
mov dword [esp + 0x18], eax
mov eax, edi
imul esi, ecx, 0x9fb67
mov dword [esp + 0xc], edx
mov edx, 0x9fb67
mul edx
add eax, dword [esp + 0x50]
adc edx, esi
mov dword [esp + 0x2c], eax
mov eax, edi
imul esi, ecx, 0xfff0c653
mov dword [esp + 8], edx
mov edx, 0xfff0c653
mul edx
sub edx, edi
add eax, dword [esp + 0x60]
adc esi, edx
mov dword [esp + 0x14], eax
mov eax, edi
mov edx, 0x215d1
mul edx
mov dword [esp + 0x40], esi
imul esi, ecx, 0x215d1
add eax, dword [esp + 0xac]
adc edx, esi
mov dword [esp + 0x34], eax
mov eax, edi
mov dword [esp + 0x30], edx
mov edx, 0xfff59083
mul edx
sub edx, edi
imul edi, ecx, 0xfff59083
add eax, dword [esp + 0x4c]
adc edi, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov eax, ebx
sar ebx, 0x15
shld eax, edx, 0xb
add eax, dword [esp + 0x18]
adc ebx, dword [esp + 0xc]
mov dword [esp + 0x68], eax
mov ecx, ebx
shld ebx, eax, 0xb
sar ecx, 0x15
add ebx, dword [esp + 0x2c]
adc ecx, dword [esp + 8]
and eax, 0x1fffff
mov dword [esp + 0x3c], eax
mov eax, ebx
mov edx, ecx
shld ecx, ebx, 0xb
sar edx, 0x15
add ecx, dword [esp + 0x14]
adc edx, dword [esp + 0x40]
and eax, 0x1fffff
mov esi, ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], eax
mov eax, edx
shld edx, ecx, 0xb
sar eax, 0x15
add edx, dword [esp + 0x34]
adc eax, dword [esp + 0x30]
mov ecx, edx
mov edx, esi
and edx, 0x1fffff
mov esi, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x40], edx
mov edx, eax
shld eax, ecx, 0xb
sar edx, 0x15
add eax, dword [esp + 0x38]
adc edx, edi
mov ecx, eax
mov dword [esp + 0x2c], eax
and esi, 0x1fffff
mov eax, edx
shld edx, ecx, 0xb
mov dword [esp + 0x30], esi
sar eax, 0x15
add edx, dword [esp + 4]
mov edi, edx
adc eax, 0
and ecx, 0x1fffff
mov edx, eax
shld eax, edi, 0xb
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
sar edx, 0x15
add eax, dword [esp]
mov ecx, eax
mov dword [esp], eax
mov eax, edi
adc edx, 0
and eax, 0x1fffff
mov dword [esp + 0x34], eax
mov eax, edx
shld edx, ecx, 0xb
sar eax, 0x15
add edx, dword [esp + 0x24]
adc eax, 0
mov ecx, eax
sar eax, 0x15
shld ecx, edx, 0xb
add ecx, dword [esp + 0x10]
adc eax, 0
mov dword [esp + 0x10], ecx
mov esi, eax
shld eax, ecx, 0xb
mov ecx, dword [esp + 0x3c]
sar esi, 0x15
add eax, dword [esp + 0x1c]
adc esi, 0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
shr ebx, 6
mov dword [esp + 0x18], esi
mov esi, dword [ebp + 8]
mov byte [esi + 0x20], al
mov byte [esi + 0x21], ah
shr eax, 0x10
and eax, 0x1f
mov edi, eax
mov eax, ecx
shl eax, 5
or eax, edi
mov edi, dword [esp + 0x68]
mov byte [esi + 0x22], al
mov eax, edi
shr eax, 3
mov byte [esi + 0x23], al
mov eax, edi
mov edi, dword [esp + 0x40]
shr eax, 0xb
mov byte [esi + 0x24], al
mov eax, ecx
mov ecx, dword [esp + 0x54]
shr eax, 0x13
lea eax, [eax + ecx*4]
shr ecx, 0xe
mov byte [esi + 0x25], al
mov eax, edi
mov byte [esi + 0x26], bl
mov ebx, dword [esp + 0x24]
shl eax, 7
or eax, ecx
mov ecx, dword [esp + 0x58]
mov byte [esi + 0x27], al
mov eax, ecx
shr ecx, 9
shr eax, 1
mov byte [esi + 0x28], al
mov byte [esi + 0x29], cl
mov ecx, edi
mov edi, dword [esp + 0x30]
shr ecx, 0x11
mov eax, edi
shl eax, 4
or eax, ecx
mov ecx, dword [esp + 0x14]
mov byte [esi + 0x2a], al
mov eax, ecx
shr ecx, 0xc
shr eax, 4
mov byte [esi + 0x2b], al
mov byte [esi + 0x2c], cl
mov ecx, dword [esp + 8]
mov eax, edi
mov edi, dword [esp + 0x34]
shr eax, 0x14
lea eax, [eax + ecx*2]
shr ecx, 0xf
mov byte [esi + 0x2d], al
mov eax, dword [esp + 0x2c]
shr eax, 7
mov byte [esi + 0x2e], al
mov eax, edi
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0xc]
mov byte [esi + 0x2f], al
mov eax, ecx
shr ecx, 0xa
shr eax, 2
mov byte [esi + 0x30], al
mov byte [esi + 0x31], cl
mov ecx, dword [esp]
mov eax, edi
mov edi, dword [esp + 0x10]
shr eax, 0x12
lea eax, [eax + ecx*8]
mov byte [esi + 0x32], al
mov eax, ecx
shr ecx, 0xd
shr eax, 5
mov byte [esi + 0x33], al
mov eax, edi
mov byte [esi + 0x34], cl
mov byte [esi + 0x35], dl
mov byte [esi + 0x36], dh
shr edx, 0x10
and eax, 0x1fffff
and edx, 0x1f
mov ecx, eax
shr eax, 0x13
shl ecx, 5
or ecx, edx
mov edx, dword [esp + 0x18]
mov byte [esi + 0x37], cl
mov ecx, edi
shr edi, 0xb
shr ecx, 3
mov byte [esi + 0x38], cl
mov ecx, edi
shld edx, ebx, 0xb
mov byte [esi + 0x39], cl
mov ecx, ebx
shr ebx, 6
add edx, dword [esp + 0x20]
and ecx, 0x1fffff
lea eax, [eax + ecx*4]
shr ecx, 0xe
mov byte [esi + 0x3a], al
mov eax, ebx
mov byte [esi + 0x3b], al
mov eax, edx
shl eax, 7
or eax, ecx
mov byte [esi + 0x3c], al
mov eax, edx
shr eax, 1
mov byte [esi + 0x3d], al
mov eax, edx
shr edx, 0x11
shr eax, 9
mov byte [esi + 0x3e], al
mov byte [esi + 0x3f], dl
xor esi, esi
mov ecx, dword [esp + 0x4f8]
inc esi
xor ecx, ebp
call fcn.004956a1
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret