Function at 0x49dc00
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, 0x580
lea eax, [esp + 0x264]
push eax
push 0x20
push dword [ebp + 0x14]
call sym.adb.exe_SHA512
add esp, 0xc
and byte [esp + 0x264], 0xf8
lea esi, [esp + 0x4a0]
mov al, byte [esp + 0x283]
and al, 0x3f
or al, 0x40
mov byte [esp + 0x283], al
push esi
call sym.adb.exe_SHA512_Init
add esp, 4
lea eax, [esp + 0x284]
push 0x20
push eax
push esi
call sym.adb.exe_SHA512_Update
add esp, 0xc
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call sym.adb.exe_SHA512_Update
add esp, 0xc
lea ebx, [esp + 0x2a4]
push esi
push ebx
call sym.adb.exe_SHA512_Final
add esp, 8
push ebx
call fcn.0049c200
add esp, 4
lea edi, [esp + 0x3b0]
push 0x596688
push ebx
push edi
call fcn.0049a6b0
add esp, 0xc
movsd xmm2, qword [esp + 0x418]
movsd xmm1, qword [esp + 0x410]
movsd xmm0, qword [esp + 0x420]
lea ebx, [esp + 0x478]
lea edx, [esp + 0x220]
mov ecx, ebx
movsd qword [esp + 0x238], xmm2
movsd qword [esp + 0x230], xmm1
movsd xmm2, qword [esp + 0x400]
movsd xmm1, qword [esp + 0x408]
movsd qword [esp + 0x240], xmm0
movsd qword [esp + 0x228], xmm1
movsd qword [esp + 0x220], xmm2
call fcn.004a37e0
lea ecx, [esp + 0x220]
mov edx, edi
push ebx
call fcn.004a3af0
add esp, 4
lea edi, [esp + 0x450]
lea edx, [esp + 0x3d8]
mov ecx, edi
push ebx
call fcn.004a3af0
add esp, 4
mov ebx, dword [ebp + 8]
mov edx, edi
mov ecx, ebx
call fcn.00498c40
lea edx, [esp + 0x220]
lea ecx, [esp + 0x390]
mov edi, edx
call fcn.00498c40
mov al, byte [esp + 0x390]
shl al, 7
xor byte [ebx + 0x1f], al
push esi
call sym.adb.exe_SHA512_Init
add esp, 4
push 0x20
push ebx
push esi
call sym.adb.exe_SHA512_Update
add esp, 0xc
mov eax, dword [ebp + 0x14]
add eax, 0x20
push 0x20
push eax
push esi
call sym.adb.exe_SHA512_Update
add esp, 0xc
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call sym.adb.exe_SHA512_Update
add esp, 0xc
push esi
push edi
call sym.adb.exe_SHA512_Final
add esp, 8
push edi
call fcn.0049c200
add esp, 4
movzx ecx, byte [esp + 0x221]
movzx eax, byte [esp + 0x220]
movzx edx, byte [esp + 0x223]
movzx ebx, byte [esp + 0x234]
movzx esi, byte [esp + 0x2a9]
movzx edi, byte [esp + 0x2b6]
shl ecx, 8
shl edx, 8
shl ebx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x222]
or edx, eax
and eax, 0x1f
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esp + 0x225]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x224]
shl eax, 0x10
or eax, edx
movzx edx, byte [esp + 0x226]
shl edx, 8
or edx, ecx
shl ecx, 0x18
or ecx, eax
movzx eax, byte [esp + 0x228]
mov dword [esp + 0x2c], ecx
movzx ecx, byte [esp + 0x227]
shl eax, 8
or eax, ecx
shl ecx, 0x10
or ecx, edx
movzx edx, byte [esp + 0x22a]
mov dword [esp + 8], ecx
movzx ecx, byte [esp + 0x229]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x22b]
shl eax, 8
or eax, edx
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esp + 0x22c]
mov dword [esp + 0x54], edx
movzx edx, byte [esp + 0x22d]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x22e]
shl eax, 8
or eax, edx
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esp + 0x230]
mov dword [esp + 0x10], edx
movzx edx, byte [esp + 0x22f]
shl ecx, 8
or ecx, edx
shl edx, 0x10
or edx, eax
movzx eax, byte [esp + 0x231]
mov dword [esp + 0x40], edx
movzx edx, byte [esp + 0x232]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esp + 0x233]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esp + 0x236]
or ebx, ecx
movzx ecx, byte [esp + 0x235]
mov dword [esp + 0xc], edx
movzx edx, byte [esp + 0x237]
shr ebx, 3
mov dword [esp + 0x60], ebx
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x238]
shl ecx, 8
or ecx, edx
and edx, 0x1f
shl edx, 0x10
or edx, eax
movzx eax, byte [esp + 0x239]
mov dword [esp + 0x64], edx
movzx edx, byte [esp + 0x23a]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esp + 0x23b]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esp + 0x23d]
mov dword [esp + 0x3c], edx
movzx edx, byte [esp + 0x23c]
mov ebx, dword [esp + 0x3c]
shl eax, 8
or eax, edx
shl edx, 0x10
or edx, ecx
movzx ecx, byte [esp + 0x23e]
shr ebx, 5
mov dword [esp + 0x74], edx
movzx edx, byte [esp + 0x266]
and ebx, 0x1fffff
mov dword [esp + 0x3c], ebx
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x23f]
shl eax, 0x18
or eax, ecx
movzx ecx, byte [esp + 0x264]
mov dword [esp + 0x58], eax
movzx eax, byte [esp + 0x265]
shr dword [esp + 0x58], 7
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x267]
shl ecx, 8
or ecx, edx
and edx, 0x1f
shl edx, 0x10
or edx, eax
movzx eax, byte [esp + 0x268]
mov dword [esp + 0x50], edx
movzx edx, byte [esp + 0x269]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esp + 0x26a]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esp + 0x26c]
mov dword [esp + 0x68], edx
movzx edx, byte [esp + 0x26b]
mov ebx, dword [esp + 0x68]
shl eax, 8
or eax, edx
shl edx, 0x10
or edx, ecx
movzx ecx, byte [esp + 0x26d]
shr ebx, 5
mov dword [esp + 4], edx
movzx edx, byte [esp + 0x26e]
and ebx, 0x1fffff
mov dword [esp + 0x68], ebx
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x26f]
shl eax, 8
or eax, edx
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esp + 0x270]
mov dword [esp + 0x14], edx
movzx edx, byte [esp + 0x271]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x272]
shl eax, 8
or eax, edx
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esp + 0x274]
mov dword [esp + 0x20], edx
movzx edx, byte [esp + 0x273]
shl ecx, 8
or ecx, edx
shl edx, 0x10
or edx, eax
movzx eax, byte [esp + 0x275]
mov dword [esp + 0x24], edx
movzx edx, byte [esp + 0x276]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esp + 0x277]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esp + 0x278]
mov dword [esp + 0x28], edx
movzx edx, byte [esp + 0x27b]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esp + 0x279]
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x27a]
shr dword [esp + 0x18], 3
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x27c]
shl ecx, 8
or ecx, edx
and edx, 0x1f
shl edx, 0x10
or edx, eax
movzx eax, byte [esp + 0x27d]
mov dword [esp + 0x34], edx
movzx edx, byte [esp + 0x27e]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [esp + 0x27f]
shl ecx, 8
or ecx, edx
shl edx, 0x18
or edx, eax
movzx eax, byte [esp + 0x281]
mov dword [esp + 0x1c], edx
movzx edx, byte [esp + 0x280]
shl eax, 8
or eax, edx
shl edx, 0x10
or edx, ecx
movzx ecx, byte [esp + 0x282]
mov dword [esp + 0x38], edx
movzx edx, byte [esp + 0x2a7]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x283]
shl edx, 8
shl eax, 0x18
or eax, ecx
movzx ecx, byte [esp + 0x2a4]
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 0x2a5]
shr dword [esp + 0x30], 7
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x2a6]
or edx, ecx
and ecx, 0x1f
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x2a8]
mov dword [esp + 0xac], ecx
movzx ecx, byte [esp + 0x2be]
shl eax, 0x10
or eax, edx
movzx edx, byte [esp + 0x2aa]
shl edx, 8
or edx, esi
shl esi, 0x18
or esi, eax
movzx eax, byte [esp + 0x2ac]
mov dword [esp + 0x80], esi
movzx esi, byte [esp + 0x2ab]
shl eax, 8
or eax, esi
shl esi, 0x10
or esi, edx
movzx edx, byte [esp + 0x2ad]
mov dword [esp + 0x78], esi
movzx esi, byte [esp + 0x2ae]
shl edx, 0x10
or edx, eax
movzx eax, byte [esp + 0x2af]
shl eax, 8
or eax, esi
shl esi, 0x18
or esi, edx
movzx edx, byte [esp + 0x2b0]
mov dword [esp + 0x84], esi
movzx esi, byte [esp + 0x2b1]
shl edx, 0x10
or edx, eax
movzx eax, byte [esp + 0x2b2]
shl eax, 8
or eax, esi
shl esi, 0x18
or esi, edx
movzx edx, byte [esp + 0x2b4]
mov dword [esp + 0xc4], esi
movzx esi, byte [esp + 0x2b3]
shl edx, 8
or edx, esi
shl esi, 0x10
or esi, eax
movzx eax, byte [esp + 0x2b5]
mov dword [esp + 0x88], esi
movzx esi, byte [esp + 0x2bb]
shl eax, 0x10
or eax, edx
movzx edx, byte [esp + 0x2b7]
shl edx, 8
or edx, edi
shl edi, 0x18
or edi, eax
movzx eax, byte [esp + 0x2b8]
shr edi, 6
and edi, 0x1fffff
mov dword [esp + 0xa8], edi
mov edi, dword [esp + 0x50]
shl eax, 0x10
or eax, edx
movzx edx, byte [esp + 0x2b9]
mov dword [esp + 0x90], eax
movzx eax, byte [esp + 0x2ba]
shr dword [esp + 0x90], 3
shl eax, 8
or eax, edx
movzx edx, byte [esp + 0x2bc]
shl edx, 8
or edx, esi
and esi, 0x1f
shl esi, 0x10
or esi, eax
movzx eax, byte [esp + 0x2bd]
mov dword [esp + 0xbc], esi
movzx esi, byte [esp + 0x2c0]
shl eax, 0x10
or eax, edx
movzx edx, byte [esp + 0x2bf]
shl edx, 8
or edx, ecx
shl ecx, 0x18
or ecx, eax
movzx eax, byte [esp + 0x2c1]
shr ecx, 5
and ecx, 0x1fffff
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x4c]
shl eax, 8
or eax, esi
shl esi, 0x10
or esi, edx
movzx edx, byte [esp + 0x2c2]
shr esi, 2
and esi, 0x1fffff
mov dword [esp + 0xa4], esi
shl edx, 0x10
or edx, eax
movzx eax, byte [esp + 0x2c3]
shl eax, 0x18
or eax, edx
mov edx, eax
mov eax, dword [esp + 0x2c]
shr edx, 7
mov dword [esp + 0xf4], edx
shr eax, 5
and eax, 0x1fffff
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x2c]
shr eax, 2
and eax, 0x1fffff
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
shr eax, 7
and eax, 0x1fffff
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
shr eax, 4
and eax, 0x1fffff
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
shr eax, 1
and eax, 0x1fffff
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc]
shr eax, 6
and eax, 0x1fffff
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x74]
shr eax, 2
and eax, 0x1fffff
mov dword [esp + 0x74], eax
mov eax, dword [esp + 4]
shr eax, 2
and eax, 0x1fffff
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
shr eax, 7
and eax, 0x1fffff
mov dword [esp + 0x14], 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 + 0x1c]
shr eax, 5
and eax, 0x1fffff
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
shr eax, 2
and eax, 0x1fffff
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x80]
shr eax, 5
and eax, 0x1fffff
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x78]
shr eax, 2
and eax, 0x1fffff
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x84]
shr eax, 7
and eax, 0x1fffff
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xc4]
shr eax, 4
and eax, 0x1fffff
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x88]
shr eax, 1
and eax, 0x1fffff
mov dword [esp + 0x88], eax
mov eax, edi
mul ecx
add eax, dword [esp + 0xac]
mov dword [esp + 0xf0], eax
adc edx, 0
mov eax, ebx
mov dword [esp + 0x17c], edx
mul ecx
mov dword [esp + 0xe0], eax
mov eax, edi
mov dword [esp + 0x218], edx
mul esi
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xac], edx
mul ecx
mov dword [esp + 0xc0], 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 + 4]
adc edx, esi
add eax, dword [esp + 0xc0]
mov esi, dword [esp + 0x14]
adc edx, dword [esp + 0x98]
add eax, dword [esp + 0x78]
mov dword [esp + 0x188], eax
adc edx, 0
mov eax, esi
mov dword [esp + 0x100], edx
mul ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x214], eax
mov eax, ebx
mov dword [esp + 0x21c], edx
mul ecx
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x208], edx
mul edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x170], edx
mul edi
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], edx
mul dword [esp + 0x4c]
mov dword [esp + 0x94], eax
mov eax, esi
mov dword [esp + 0xc0], edx
mov esi, dword [esp + 0x68]
mul ecx
mov dword [esp + 0x70], eax
mov eax, ebx
mov dword [esp + 0x8c], edx
mul dword [esp + 8]
mov ecx, eax
mov eax, esi
mov dword [esp + 0x5c], edx
mul edi
mov ebx, eax
mov eax, dword [esp + 0x50]
mov edi, edx
mul dword [esp + 0x10]
add eax, ebx
mov ebx, dword [esp + 0x10]
adc edx, edi
add eax, ecx
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
adc edx, dword [esp + 0x5c]
add eax, dword [esp + 0x70]
adc edx, dword [esp + 0x8c]
add eax, dword [esp + 0x94]
adc edx, dword [esp + 0xc0]
add eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
adc edx, 0
mov eax, ecx
mov dword [esp + 0x184], edx
mul dword [esp + 0x4c]
mov dword [esp + 0x178], eax
mov eax, edi
mov dword [esp + 0x210], edx
mul dword [esp + 0x2c]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x16c], edx
mul dword [esp + 8]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x164], edx
mul dword [esp + 0x54]
mov dword [esp + 0x158], eax
mov eax, esi
mov dword [esp + 0x15c], edx
mov esi, dword [esp + 0x40]
mul ebx
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xdc], edx
mul esi
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc4], edx
mul dword [esp + 0x4c]
mov dword [esp + 0x8c], eax
mov eax, ecx
mov dword [esp + 0x94], edx
mul dword [esp + 0x2c]
mov dword [esp + 0x70], eax
mov eax, edi
mov ecx, edx
mov edi, dword [esp + 0x54]
mul dword [esp + 8]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x5c], edx
mul edi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x48], edx
mul ebx
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xec], edx
mul esi
mov esi, eax
mov eax, dword [esp + 0x50]
mov ebx, edx
mul dword [esp + 0xc]
add eax, esi
mov esi, dword [esp + 8]
adc edx, ebx
add eax, dword [esp + 0xe8]
mov ebx, dword [esp + 0x2c]
adc edx, dword [esp + 0xec]
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 + 0x8c]
mov ecx, dword [esp + 0x4c]
adc edx, dword [esp + 0x94]
add eax, dword [esp + 0xa8]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x18]
adc edx, 0
mov dword [esp + 0xec], edx
mul ecx
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xd8], edx
mul ebx
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x150], edx
mul esi
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x148], edx
mul edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x140], edx
mul dword [esp + 0x10]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xcc], edx
mul dword [esp + 0x40]
mov dword [esp + 0x138], edx
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0xc]
mul edx
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x130], edx
mul edi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa8], edx
mul ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x8c], edx
mul ebx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], edx
mul esi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x48], edx
mul dword [esp + 0x54]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xfc], edx
mul dword [esp + 0x10]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb8], edx
mul dword [esp + 0x40]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xa0], edx
mul dword [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x7c], edx
mul edi
mov edi, dword [esp + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x50]
mov esi, edx
mul dword [esp + 0x64]
add eax, ebx
mov ebx, dword [esp + 0x60]
adc edx, esi
add eax, ecx
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
adc edx, dword [esp + 0x7c]
add eax, dword [esp + 0xb0]
adc edx, dword [esp + 0xa0]
add eax, dword [esp + 0xb4]
adc edx, dword [esp + 0xb8]
add eax, dword [esp + 0xf8]
adc edx, dword [esp + 0xfc]
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 + 0x8c]
add eax, dword [esp + 0xbc]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x1c]
adc edx, 0
mov dword [esp + 0xfc], edx
mul ecx
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x204], edx
mul dword [esp + 0x2c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1fc], edx
mul dword [esp + 8]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1f4], edx
mul dword [esp + 0x54]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1ec], edx
mul dword [esp + 0x10]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1e4], edx
mul dword [esp + 0x40]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1dc], edx
mul edi
mov dword [esp + 0x124], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x128], edx
mul ebx
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x120], edx
mul dword [esp + 0x64]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x118], edx
mul esi
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xbc], edx
mul ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x70], edx
mul dword [esp + 0x2c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x6c], edx
mul dword [esp + 8]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], edx
mul dword [esp + 0x54]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xb4], edx
mul dword [esp + 0x10]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb0], edx
mul dword [esp + 0x40]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x9c], edx
mul edi
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x110], edx
mul ebx
mov dword [esp + 0x104], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x108], edx
mul dword [esp + 0x64]
mov edi, eax
mov eax, dword [esp + 0x68]
mov ecx, edx
mul esi
mov ebx, eax
mov eax, dword [esp + 0x50]
mov esi, edx
mul dword [esp + 0x74]
add eax, ebx
mov ebx, dword [esp + 0x40]
adc edx, esi
add eax, edi
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x74]
adc edx, ecx
add eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x58]
adc edx, dword [esp + 0x108]
add eax, dword [esp + 0x10c]
adc edx, dword [esp + 0x110]
add eax, dword [esp + 0x114]
adc edx, dword [esp + 0x9c]
add eax, dword [esp + 0x7c]
adc edx, dword [esp + 0xb0]
add eax, dword [esp + 0xa0]
adc edx, dword [esp + 0xb4]
add eax, dword [esp + 0xb8]
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 + 0xa4]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x30]
adc edx, 0
mov dword [esp + 0xb8], edx
mul dword [esp + 0x4c]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x114], edx
mul dword [esp + 0x2c]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10c], edx
mul dword [esp + 8]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x104], edx
mul edi
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1cc], edx
mul dword [esp + 0x10]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c4], edx
mul ebx
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1bc], edx
mul dword [esp + 0xc]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1b4], edx
mul dword [esp + 0x60]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x388], edx
mul dword [esp + 0x64]
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x380], edx
mul dword [esp + 0x3c]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x378], edx
mul esi
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x370], edx
mul ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], edx
mul dword [esp + 0x2c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], edx
mul dword [esp + 8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x70], edx
mul edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x6c], edx
mul dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], edx
mul ebx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xb0], edx
mul dword [esp + 0xc]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x9c], edx
mul dword [esp + 0x60]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1ac], edx
mul dword [esp + 0x64]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1a4], edx
mul dword [esp + 0x3c]
mov edi, eax
mov eax, dword [esp + 4]
mov dword [esp + 0x19c], edx
mul esi
mov ebx, eax
mov eax, dword [esp + 0x68]
mov esi, edx
mul ecx
mov ecx, dword [esp + 0x64]
add eax, ebx
mov ebx, dword [esp + 0x40]
adc edx, esi
add eax, edi
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x58]
adc edx, dword [esp + 0x19c]
add eax, dword [esp + 0x1a0]
adc edx, dword [esp + 0x1a4]
add eax, dword [esp + 0x1a8]
adc edx, dword [esp + 0x1ac]
add eax, dword [esp + 0x1b0]
adc edx, dword [esp + 0x9c]
add eax, dword [esp + 0x7c]
adc edx, dword [esp + 0xb0]
add eax, dword [esp + 0xa0]
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 + 0xa4]
mov dword [esp + 0xb0], eax
adc edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0xa0], edx
mul dword [esp + 8]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], edx
mul dword [esp + 0x54]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1b0], edx
mul edi
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1a8], edx
mul ebx
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1a0], edx
mul dword [esp + 0xc]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x368], edx
mul dword [esp + 0x60]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x360], edx
mul ecx
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x358], edx
mul dword [esp + 0x3c]
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x350], edx
mul dword [esp + 0x74]
mov dword [esp + 0x344], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x348], edx
mul esi
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xa4], edx
mul dword [esp + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], edx
mul edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], edx
mul ebx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x6c], edx
mul dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], edx
mul dword [esp + 0x60]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x9c], edx
mul ecx
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x194], edx
mul dword [esp + 0x3c]
mov ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18c], edx
mul dword [esp + 0x74]
mov ebx, eax
mov eax, dword [esp + 0x14]
mov edi, edx
mul esi
mov esi, dword [esp + 0x64]
add eax, ebx
mov ebx, dword [esp + 0x3c]
adc edx, edi
add eax, ecx
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
adc edx, dword [esp + 0x18c]
add eax, dword [esp + 0x190]
adc edx, dword [esp + 0x194]
add eax, dword [esp + 0x198]
adc edx, dword [esp + 0x9c]
add eax, dword [esp + 0x7c]
adc edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
adc edx, dword [esp + 0x6c]
add eax, dword [esp + 0x5c]
adc edx, dword [esp + 0x54]
add eax, dword [esp + 8]
mov dword [esp + 0x9c], eax
adc edx, dword [esp + 4]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x7c], edx
mul dword [esp + 0x10]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x54], edx
mul dword [esp + 0x40]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x194], edx
mul edi
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18c], edx
mul ecx
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x33c], edx
mul esi
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x334], edx
mul ebx
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x32c], edx
mul dword [esp + 0x74]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x324], edx
mul dword [esp + 0x58]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x5c], edx
mul dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mul edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
mul ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], edx
mul esi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], edx
mul ebx
mov esi, eax
mov eax, dword [esp + 0x28]
mov ecx, edx
mul dword [esp + 0x74]
mov ebx, eax
mov eax, dword [esp + 0x24]
mov edi, edx
mul dword [esp + 0x58]
add eax, ebx
mov ebx, dword [esp + 0x58]
adc edx, edi
add eax, esi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x74]
adc edx, ecx
add eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x64]
adc edx, dword [esp + 0x48]
add eax, dword [esp + 0x40]
adc edx, dword [esp + 0x10]
add eax, dword [esp + 8]
adc edx, dword [esp + 0x14]
add eax, dword [esp + 4]
adc edx, dword [esp + 0x20]
mov dword [esp + 0x44], eax
mov eax, esi
mov dword [esp + 0x48], edx
mul dword [esp + 0xc]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x40], edx
mul dword [esp + 0x60]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x318], edx
mul ecx
mov dword [esp + 0x30c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x310], edx
mul dword [esp + 0x3c]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x308], edx
mul edi
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x300], edx
mul ebx
mov dword [esp + 0x24], eax
mov eax, esi
mov dword [esp + 0x28], edx
mov esi, dword [esp + 0x3c]
mul dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], edx
mul ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
mul esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], edx
mul edi
mov edi, eax
mov eax, dword [esp + 0x18]
mov ecx, edx
mul ebx
mov ebx, dword [esp + 0x38]
add eax, edi
mov edi, dword [esp + 0x74]
adc edx, ecx
add eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
adc edx, dword [esp + 0x10]
add eax, dword [esp + 8]
adc edx, dword [esp + 0x14]
add eax, dword [esp + 0x20]
adc edx, dword [esp + 4]
mov dword [esp + 0x20], eax
mov eax, ecx
mov dword [esp + 4], edx
mul dword [esp + 0x64]
mov dword [esp + 0x2f4], eax
mov eax, ebx
mov dword [esp + 0x2fc], edx
mul esi
mov dword [esp + 0x2ec], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2f0], edx
mul edi
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x2e8], edx
mul dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov eax, ecx
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x58]
mul esi
mov esi, eax
mov eax, ebx
mov dword [esp + 0x18], edx
mul edi
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov edi, edx
mul ecx
add eax, ebx
mov ebx, dword [esp + 0x30]
adc edx, edi
add eax, esi
adc edx, dword [esp + 0x18]
mov dword [esp + 8], eax
mov eax, ebx
mov dword [esp + 0x14], edx
mul dword [esp + 0x74]
mov esi, eax
mov eax, dword [esp + 0x38]
mov edi, edx
mul ecx
add eax, esi
mov esi, dword [esp + 0x17c]
mov dword [esp + 0x38], eax
adc edx, edi
mov eax, ebx
mov dword [esp + 0x34], edx
mul ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xac]
add edx, 0x100000
adc esi, 0
mov edi, esi
mov ebx, esi
shr edi, 0x15
shld ebx, edx, 0xb
add ecx, dword [esp + 0xe0]
adc eax, dword [esp + 0x218]
add ecx, ebx
adc eax, edi
add ecx, dword [esp + 0x80]
adc eax, 0
and edx, 0xffe00000
and esi, 0xfff
mov dword [esp + 0xc8], ecx
sub dword [esp + 0xf0], edx
mov edx, dword [esp + 0x188]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x78]
sbb dword [esp + 0x17c], esi
mov esi, dword [esp + 0x100]
add edx, 0x100000
mov edi, edx
adc esi, 0
mov ecx, esi
mov dword [esp + 0x218], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x98]
shr ecx, 0x15
add edx, dword [esp + 0x168]
adc eax, dword [esp + 0x170]
add edx, dword [esp + 0x174]
adc eax, dword [esp + 0x208]
add edx, dword [esp + 0x214]
adc eax, dword [esp + 0x21c]
add edx, dword [esp + 0x84]
adc eax, 0
add edx, esi
mov esi, dword [esp + 0x184]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x180]
adc eax, ecx
and edi, 0xffe00000
mov dword [esp + 0x214], edi
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xc4]
add edx, 0x100000
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x21c], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0xc0]
sar ecx, 0x15
add edx, dword [esp + 0xd4]
adc eax, dword [esp + 0xdc]
add edx, dword [esp + 0x158]
adc eax, dword [esp + 0x15c]
add edx, dword [esp + 0x160]
adc eax, dword [esp + 0x164]
add edx, dword [esp + 0xe4]
adc eax, dword [esp + 0x16c]
add edx, dword [esp + 0x178]
adc eax, dword [esp + 0x210]
add edx, dword [esp + 0x88]
adc eax, 0
add edx, esi
mov esi, dword [esp + 0xec]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0xe8]
adc eax, ecx
and edi, 0xffe00000
mov dword [esp + 0x210], edi
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xa8]
add edx, 0x100000
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x64], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x94]
sar ecx, 0x15
add edx, dword [esp + 0x200]
adc eax, dword [esp + 0x130]
add edx, dword [esp + 0x134]
adc eax, dword [esp + 0x138]
add edx, dword [esp + 0x13c]
adc eax, dword [esp + 0xcc]
add edx, dword [esp + 0xd0]
adc eax, dword [esp + 0x140]
add edx, dword [esp + 0x144]
adc eax, dword [esp + 0x148]
add edx, dword [esp + 0x14c]
adc eax, dword [esp + 0x150]
add edx, dword [esp + 0x154]
adc eax, dword [esp + 0xd8]
add edx, dword [esp + 0x90]
adc eax, 0
add edx, esi
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xf8]
adc eax, ecx
and edi, 0xffe00000
mov dword [esp + 0x60], edi
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xbc]
add edx, 0x100000
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x178], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x8c]
sar ecx, 0x15
add edx, dword [esp + 0x1d4]
adc eax, dword [esp + 0x118]
add edx, dword [esp + 0x11c]
adc eax, dword [esp + 0x120]
add edx, dword [esp + 0x124]
adc eax, dword [esp + 0x128]
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 + 0x1fc]
add edx, dword [esp + 0x12c]
adc eax, dword [esp + 0x204]
add edx, esi
mov esi, dword [esp + 0xb8]
adc eax, ecx
add edx, dword [esp + 0x20c]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0xb4]
adc eax, 0
and edi, 0xffe00000
mov dword [esp + 0x170], edi
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x50]
add edx, 0x100000
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x174], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x4c]
sar ecx, 0x15
add edx, dword [esp + 0x36c]
adc eax, dword [esp + 0x370]
add edx, dword [esp + 0x374]
adc eax, dword [esp + 0x378]
add edx, dword [esp + 0x37c]
adc eax, dword [esp + 0x380]
add edx, dword [esp + 0x384]
adc eax, dword [esp + 0x388]
add edx, dword [esp + 0x38c]
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 + 0x1cc]
add edx, dword [esp + 0x1d0]
adc eax, dword [esp + 0x104]
add edx, dword [esp + 0x108]
adc eax, dword [esp + 0x10c]
add edx, dword [esp + 0x110]
adc eax, dword [esp + 0x114]
add edx, dword [esp + 0xf4]
adc eax, 0
add edx, esi
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xb0]
adc eax, ecx
and edi, 0xffe00000
mov dword [esp + 0x16c], edi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa4]
add edx, 0x100000
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0xe0], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x70]
sar ecx, 0x15
add edx, dword [esp + 0x344]
adc eax, dword [esp + 0x348]
add edx, dword [esp + 0x34c]
adc eax, dword [esp + 0x350]
add edx, dword [esp + 0x354]
adc eax, dword [esp + 0x358]
add edx, dword [esp + 0x35c]
adc eax, dword [esp + 0x360]
add edx, dword [esp + 0x364]
adc eax, dword [esp + 0x368]
add edx, dword [esp + 0x19c]
adc eax, dword [esp + 0x1a0]
add edx, dword [esp + 0x1a4]
adc eax, dword [esp + 0x1a8]
add edx, dword [esp + 0x1ac]
adc eax, dword [esp + 0x1b0]
add edx, dword [esp + 0x68]
adc eax, dword [esp + 0x2c]
add edx, esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x9c]
adc eax, ecx
and edi, 0xffe00000
add edx, 0x100000
mov dword [esp + 0xdc], edi
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x5c]
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x88], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x6c]
sar ecx, 0x15
add edx, dword [esp + 0x320]
adc eax, dword [esp + 0x324]
add edx, dword [esp + 0x328]
adc eax, dword [esp + 0x32c]
add edx, dword [esp + 0x330]
adc eax, dword [esp + 0x334]
add edx, dword [esp + 0x338]
adc eax, dword [esp + 0x33c]
add edx, dword [esp + 0x340]
adc eax, dword [esp + 0x18c]
add edx, dword [esp + 0x190]
adc eax, dword [esp + 0x194]
add edx, dword [esp + 0x198]
adc eax, dword [esp + 0x54]
add edx, esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x44]
adc eax, ecx
and edi, 0xffe00000
add edx, 0x100000
mov dword [esp + 0x84], edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x28]
adc esi, 0
mov edi, edx
mov ecx, esi
mov dword [esp + 0x80], esi
shld esi, edx, 0xb
mov edx, dword [esp + 0x24]
sar ecx, 0x15
add edx, dword [esp + 0x2f8]
adc eax, dword [esp + 0x300]
add edx, dword [esp + 0x304]
adc eax, dword [esp + 0x308]
add edx, dword [esp + 0x30c]
adc eax, dword [esp + 0x310]
add edx, dword [esp + 0x314]
adc eax, dword [esp + 0x318]
add edx, dword [esp + 0x31c]
adc eax, dword [esp + 0x40]
add edx, esi
mov esi, dword [esp + 4]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xc]
adc eax, ecx
mov ecx, dword [esp + 0x20]
and edi, 0xffe00000
mov dword [esp + 0x90], edi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
add ecx, 0x100000
adc esi, 0
mov edi, esi
mov ebx, esi
sar edi, 0x15
shld ebx, ecx, 0xb
add edx, dword [esp + 0x2e4]
adc eax, dword [esp + 0x2e8]
add edx, dword [esp + 0x2ec]
adc eax, dword [esp + 0x2f0]
add edx, dword [esp + 0x2f4]
adc eax, dword [esp + 0x2fc]
add edx, ebx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 8]
adc eax, edi
and ecx, 0xffe00000
sub dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, edx
sbb dword [esp + 4], esi
add ecx, 0x100000
mov esi, eax
adc esi, 0
mov edi, esi
mov ebx, esi
shld edi, ecx, 0xb
shr ebx, 0x15
add edi, dword [esp + 0x38]
adc ebx, dword [esp + 0x34]
and ecx, 0xffe00000
and esi, 0x7fffffff
mov dword [esp + 0x3c], edi
sub edx, ecx
mov dword [esp + 8], edx
sbb eax, esi
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x28]
mov ecx, edx
add ecx, 0x100000
mov edi, eax
adc edi, 0
mov esi, edi
shr esi, 0x15
mov dword [esp + 0xd0], esi
mov esi, edi
and edi, 0x7fffffff
shld esi, ecx, 0xb
and ecx, 0xffe00000
sub edx, ecx
mov dword [esp + 0xcc], esi
mov dword [esp + 0x18], edx
sbb eax, edi
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xac]
mov ecx, edx
add ecx, 0x100000
mov edi, eax
adc edi, 0
mov esi, edi
shr esi, 0x15
mov dword [esp + 0x74], esi
mov esi, edi
shld esi, ecx, 0xb
and ecx, 0xffe00000
sub edx, ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0xc8], edx
sbb eax, edi
mov edx, dword [esp + 0x98]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x78]
mov ecx, edx
add ecx, 0x100000
mov edi, eax
adc edi, 0
mov esi, edi
sar esi, 0x15
mov dword [esp + 0x54], esi
mov esi, edi
shld esi, ecx, 0xb
and ecx, 0xffe00000
sub edx, ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x40], esi
sbb eax, edi
mov dword [esp + 0x98], edx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xc4]
add ecx, 0x100000
adc eax, 0
mov edx, eax
mov dword [esp + 0x20c], eax
shld eax, ecx, 0xb
and ecx, 0xffe00000
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0xa8]
sar edx, 0x15
mov dword [esp + 0x204], edx
add ecx, 0x100000
adc eax, 0
mov edx, eax
mov dword [esp + 0x154], eax
shld eax, ecx, 0xb
and ecx, 0xffe00000
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xbc]
sar edx, 0x15
mov dword [esp + 0x13c], edx
add ecx, 0x100000
adc eax, 0
mov edx, eax
mov dword [esp + 0xd8], eax
shld eax, ecx, 0xb
and ecx, 0xffe00000
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x50]
sar edx, 0x15
mov dword [esp + 0x14c], edx
add ecx, 0x100000
adc eax, 0
mov edx, eax
mov dword [esp + 0x15c], eax
shld eax, ecx, 0xb
and ecx, 0xffe00000
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0xa4]
sar edx, 0x15
mov dword [esp + 0x1f8], edx
add ecx, 0x100000
adc eax, 0
mov edx, eax
mov dword [esp + 0x164], eax
shld eax, ecx, 0xb
and ecx, 0xffe00000
mov dword [esp + 0x160], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x5c]
sar edx, 0x15
mov dword [esp + 0x128], edx
add ecx, 0x100000
adc eax, 0
mov edx, eax
mov dword [esp + 0x168], eax
shld eax, ecx, 0xb
and ecx, 0xffe00000
sar edx, 0x15
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x130], eax
mov eax, ebx
mov dword [esp + 0x134], edx
mov edx, dword [esp + 0x24]
mov ecx, edx
add ecx, 0x100000
adc eax, 0
mov edi, eax
mov esi, eax
shld edi, ecx, 0xb
sar esi, 0x15
add edi, dword [esp + 0x20]
adc esi, dword [esp + 4]
and ecx, 0xffe00000
mov dword [esp + 0x1e8], edi
sub edx, ecx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xc]
sbb ebx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ebx
mov dword [esp + 0xf4], esi
mov ecx, edx
mov ebx, eax
add ecx, 0x100000
adc ebx, 0
mov edi, ebx
mov esi, ebx
shld edi, ecx, 0xb
sar esi, 0x15
add edi, dword [esp + 8]
adc esi, dword [esp + 0x14]
and ecx, 0xffe00000
mov dword [esp + 0x11c], edi
sub edx, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x3c]
sbb eax, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x120], esi
mov ebx, ecx
mov eax, edx
add eax, 0x100000
adc ebx, 0
mov edi, ebx
mov esi, ebx
shld edi, eax, 0xb
shr esi, 0x15
add edi, dword [esp + 0x18]
adc esi, dword [esp + 0x1c]
and eax, 0xffe00000
and ebx, 0x7fffffff
sub edx, eax
sbb ecx, ebx
mov dword [esp + 0x3c], edx
mov edx, 0xa2c13
mov ebx, 0x215d1
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x12c], esi
mov esi, dword [esp + 0xd0]
mov eax, ecx
mul edx
mov dword [esp + 0x144], eax
imul eax, esi, 0xa2c13
add eax, edx
mov edx, 0x72d18
mov dword [esp + 0x140], eax
mov eax, ecx
mul edx
mov dword [esp + 0x30], eax
imul eax, esi, 0x72d18
add eax, edx
mov edx, 0x9fb67
mov dword [esp + 0x2c], eax
mov eax, ecx
mul edx
mov dword [esp + 0x14], eax
imul eax, esi, 0x9fb67
add eax, edx
mov edx, 0xfff0c653
mov dword [esp + 0x38], eax
mov eax, ecx
mul edx
mov dword [esp + 8], eax
sub edx, ecx
imul eax, esi, 0xfff0c653
add eax, edx
mov edx, 0x215d1
mov dword [esp + 0x34], eax
mov eax, ecx
mul edx
mov dword [esp + 4], eax
imul eax, esi, 0x215d1
add eax, edx
mov edx, 0xfff59083
mov dword [esp + 0x18], eax
mov eax, ecx
mul edx
sub edx, ecx
imul ecx, esi, 0xfff59083
mov esi, 0x9fb67
add ecx, edx
add eax, dword [esp + 0x44]
adc ecx, dword [esp + 0x48]
sub eax, dword [esp + 0x90]
sbb ecx, dword [esp + 0x80]
add eax, dword [esp + 0x130]
adc ecx, dword [esp + 0x134]
mov dword [esp + 0x48], eax
mov eax, edi
mov dword [esp + 0x44], ecx
mov ecx, 0xa2c13
mul ecx
mov ecx, dword [esp + 0x12c]
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 + 0x20], eax
imul eax, ecx, 0x72d18
add edx, eax
mov eax, edi
mov dword [esp + 0x1c], edx
mul esi
mov dword [esp + 0x1d4], eax
imul eax, ecx, 0x9fb67
add edx, eax
mov eax, edi
mov dword [esp + 0x110], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x134], eax
sub edx, edi
imul eax, ecx, 0xfff0c653
add eax, edx
mov dword [esp + 0x130], eax
mov eax, edi
mul ebx
mov dword [esp + 0x118], eax
mov ebx, edx
imul eax, ecx, 0x215d1
mov edx, 0xfff59083
add ebx, eax
mov eax, edi
mul edx
sub edx, edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xd0], eax
imul eax, ecx, 0xfff59083
mov ecx, 0xa2c13
add eax, edx
mov dword [esp + 0xcc], eax
mov eax, edi
mul ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x1e4], eax
imul eax, ecx, 0xa2c13
add edx, eax
mov eax, edi
mov dword [esp + 0x1e0], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x90], eax
imul eax, ecx, 0x72d18
add edx, eax
mov eax, edi
mov dword [esp + 0x80], edx
mul esi
mov esi, dword [esp + 0x120]
mov dword [esp + 0x1f0], eax
imul eax, ecx, 0x9fb67
add edx, eax
mov eax, edi
mov dword [esp + 0x1ec], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x1c4], eax
sub edx, edi
imul eax, ecx, 0xfff0c653
add edx, eax
mov eax, edi
mov dword [esp + 0x1c0], edx
mov edx, 0x215d1
mul edx
mov dword [esp + 0x12c], eax
imul eax, ecx, 0x215d1
imul ecx, ecx, 0xfff59083
add edx, eax
mov eax, edi
mov dword [esp + 0x1fc], edx
mov edx, 0xfff59083
mul edx
sub edx, edi
mov edi, dword [esp + 0x34]
add edx, ecx
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x9c]
adc edi, dword [esp + 0x7c]
sub ecx, dword [esp + 0x84]
sbb edi, dword [esp + 0x88]
add ecx, dword [esp + 0x124]
adc edi, dword [esp + 0x128]
add ecx, dword [esp + 0x118]
adc edi, ebx
add ecx, eax
adc edi, edx
mov dword [esp + 8], ecx
mov ecx, 0xa2c13
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x11c]
mov eax, edi
mul ecx
mov ecx, 0xa2c13
mov dword [esp + 0x1cc], eax
imul eax, esi, 0xa2c13
add edx, eax
mov eax, edi
mov dword [esp + 0x1c8], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x58], eax
imul eax, esi, 0x72d18
add edx, eax
mov eax, edi
mov dword [esp + 0x3c], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x104], eax
imul eax, esi, 0x9fb67
add edx, eax
mov eax, edi
mov dword [esp + 0x1d0], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x128], eax
sub edx, edi
imul eax, esi, 0xfff0c653
add edx, eax
mov eax, edi
mov dword [esp + 0x124], edx
mov edx, 0x215d1
mul edx
mov dword [esp + 0x1b4], eax
mov ebx, edx
imul eax, esi, 0x215d1
mov edx, 0xfff59083
add ebx, eax
mov eax, edi
mul edx
mov dword [esp + 0x7c], eax
imul eax, esi, 0xfff59083
mov esi, dword [esp + 0xc]
sub edx, edi
mov edi, dword [esp + 0x10]
add edx, eax
mov dword [esp + 0x9c], edx
mov eax, esi
mul ecx
mov ecx, 0xfff0c653
mov dword [esp + 0x10c], eax
imul eax, edi, 0xa2c13
add edx, eax
mov eax, esi
mov dword [esp + 0x108], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x84], eax
imul eax, edi, 0x72d18
add edx, eax
mov eax, esi
mov dword [esp + 0x88], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x118], eax
imul eax, edi, 0x9fb67
add edx, eax
mov eax, esi
mov dword [esp + 0x114], edx
mul ecx
imul ecx, edi, 0xfff0c653
sub edx, esi
mov dword [esp + 0x1bc], eax
mov eax, esi
add edx, ecx
imul ecx, edi, 0xfff59083
mov dword [esp + 0x1b8], edx
mov edx, 0x215d1
mul edx
mov dword [esp + 0x120], eax
imul eax, edi, 0x215d1
mov edi, dword [esp + 0x1e8]
add edx, eax
mov eax, esi
mov dword [esp + 0x11c], edx
mov edx, 0xfff59083
mul edx
sub edx, esi
mov esi, dword [esp + 0x2c]
add edx, ecx
mov ecx, dword [esp + 0x30]
add ecx, dword [esp + 0xb0]
adc esi, dword [esp + 0xa0]
sub ecx, dword [esp + 0xdc]
sbb esi, dword [esp + 0xe0]
add ecx, dword [esp + 0x1d4]
adc esi, dword [esp + 0x110]
add ecx, dword [esp + 0x1c4]
adc esi, dword [esp + 0x1c0]
add ecx, dword [esp + 0x1b4]
adc esi, ebx
add ecx, eax
mov ebx, dword [esp + 0xf4]
mov eax, edi
adc esi, edx
add ecx, dword [esp + 0x1f4]
mov dword [esp + 0x30], ecx
mov ecx, 0xa2c13
adc esi, dword [esp + 0x1f8]
mul ecx
imul ecx, ebx, 0xa2c13
add edx, ecx
add eax, dword [esp + 0x200]
mov ecx, 0x72d18
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x84]
adc edx, dword [esp + 0x204]
add eax, dword [esp + 0xe8]
adc edx, dword [esp + 0xec]
sub eax, dword [esp + 0x60]
sbb edx, dword [esp + 0x64]
mov dword [esp + 0xe8], eax
mov eax, edi
mov dword [esp + 0xec], edx
mul ecx
mov ecx, 0x9fb67
mov dword [esp + 0x60], eax
imul eax, ebx, 0x72d18
add edx, eax
mov eax, edi
mov dword [esp + 0x64], edx
mul ecx
imul ecx, ebx, 0x9fb67
add edx, ecx
add esi, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x88]
adc ecx, dword [esp + 0x1c8]
add esi, eax
mov eax, edi
adc ecx, edx
add esi, dword [esp + 0xf8]
adc ecx, dword [esp + 0xfc]
add esi, dword [esp + 0x138]
adc ecx, dword [esp + 0x13c]
sub esi, dword [esp + 0x170]
sbb ecx, dword [esp + 0x178]
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], ecx
mov ecx, 0xfff0c653
mul ecx
mov ecx, dword [esp + 0x80]
mov esi, edx
mov dword [esp + 0x10], eax
imul eax, ebx, 0xfff0c653
mov edx, 0x215d1
imul ebx, ebx, 0x215d1
sub esi, edi
add esi, eax
mov eax, edi
mul edx
add edx, ebx
mov ebx, dword [esp + 0x90]
add ebx, dword [esp + 0x1dc]
adc ecx, dword [esp + 0x1d8]
add ebx, dword [esp + 0x104]
adc ecx, dword [esp + 0x1d0]
add ebx, dword [esp + 0x1bc]
adc ecx, dword [esp + 0x1b8]
add ebx, eax
mov eax, edi
adc ecx, edx
add ebx, dword [esp + 0xb4]
adc ecx, dword [esp + 0xb8]
add ebx, dword [esp + 0x148]
adc ecx, dword [esp + 0x14c]
sub ebx, dword [esp + 0x16c]
sbb ecx, dword [esp + 0x174]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x80], ecx
mov ecx, 0xfff59083
mul ecx
mov ecx, dword [esp + 0x60]
sub edx, edi
imul edi, dword [esp + 0xf4], 0xfff59083
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
add edx, edi
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0xe8]
add edx, 0x100000
adc ebx, 0
mov edi, ebx
mov dword [esp + 0xfc], ebx
shld ebx, edx, 0xb
sar edi, 0x15
add ecx, dword [esp + 0x10c]
adc eax, dword [esp + 0x108]
add ecx, dword [esp + 0x94]
adc eax, dword [esp + 0xa8]
sub ecx, dword [esp + 0x150]
sbb eax, dword [esp + 0x154]
add ecx, ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x84]
adc eax, edi
and edx, 0xffe00000
add ecx, 0x100000
mov dword [esp + 0xf8], edx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x3c]
adc ebx, 0
mov edx, ecx
mov edi, ebx
mov dword [esp + 0xb8], ebx
shld ebx, ecx, 0xb
mov ecx, dword [esp + 0x58]
sar edi, 0x15
add ecx, dword [esp + 0x1e4]
adc eax, dword [esp + 0x1e0]
add ecx, dword [esp + 0x118]
adc eax, dword [esp + 0x114]
add ecx, dword [esp + 0x10]
adc eax, esi
add ecx, dword [esp + 0x8c]
adc eax, dword [esp + 0xbc]
add ecx, ebx
adc eax, edi
sub ecx, dword [esp + 0xd4]
sbb eax, dword [esp + 0xd8]
and edx, 0xffe00000
mov dword [esp + 0x58], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
add edx, 0x100000
adc esi, 0
mov ecx, esi
mov dword [esp + 0x10], esi
shld esi, edx, 0xb
sar ecx, 0x15
add edi, dword [esp + 0x144]
adc eax, dword [esp + 0x140]
add edi, dword [esp + 0x1f0]
adc eax, dword [esp + 0x1ec]
add edi, dword [esp + 0x128]
adc eax, dword [esp + 0x124]
add edi, dword [esp + 0x120]
adc eax, dword [esp + 0x11c]
add edi, dword [esp + 0xc]
adc eax, dword [esp + 0xa0]
add edi, dword [esp + 0x4c]
adc eax, dword [esp + 0x50]
sub edi, dword [esp + 0x158]
sbb eax, dword [esp + 0x15c]
add edi, esi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x14]
adc eax, ecx
mov ecx, dword [esp + 0x30]
and edx, 0xffe00000
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], edx
add ecx, 0x100000
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 + 0xa4]
sub edi, dword [esp + 0x160]
sbb ebx, dword [esp + 0x164]
add edi, dword [esp + 0x134]
adc ebx, dword [esp + 0x130]
add edi, dword [esp + 0x12c]
adc ebx, dword [esp + 0x1fc]
add edi, dword [esp + 0x7c]
adc ebx, dword [esp + 0x9c]
add edi, esi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 4]
adc ebx, edx
and ecx, 0xffe00000
sub dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x18]
sbb dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
add eax, 0x100000
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 + 0xe4]
sbb ebx, dword [esp + 0x168]
add edi, dword [esp + 0xd0]
adc ebx, dword [esp + 0xcc]
add edi, esi
mov dword [esp + 4], edi
adc ebx, edx
and eax, 0xffe00000
mov edx, dword [esp + 0x48]
sub dword [esp + 8], eax
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x44]
mov eax, edx
sbb dword [esp + 0x34], ecx
add eax, 0x100000
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 + 0x94], edi
mov edi, dword [esp + 0x1c]
sub edx, eax
mov eax, dword [esp + 0x64]
sbb ebx, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xa8], esi
mov esi, edi
add ecx, 0x100000
adc eax, 0
mov edx, eax
mov dword [esp + 0xa4], eax
shld eax, ecx, 0xb
and ecx, 0xffe00000
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x3c]
sar edx, 0x15
mov dword [esp + 0x4c], edx
add ecx, 0x100000
adc eax, 0
mov edx, eax
mov dword [esp + 0xbc], eax
shld eax, ecx, 0xb
and ecx, 0xffe00000
mov dword [esp + 0x24], eax
mov eax, ebx
sar edx, 0x15
mov dword [esp + 0x8c], ecx
add eax, 0x100000
mov dword [esp + 0x28], edx
adc esi, 0
mov edx, esi
mov ecx, esi
shld edx, eax, 0xb
sar ecx, 0x15
add edx, dword [esp + 0x30]
adc ecx, dword [esp + 0x2c]
and eax, 0xffe00000
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x38]
sub ebx, eax
sbb edi, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x7c], ecx
mov ecx, edx
mov eax, esi
add eax, 0x100000
adc ecx, 0
mov ebx, ecx
mov edi, ecx
shld ebx, eax, 0xb
sar edi, 0x15
add ebx, dword [esp + 8]
adc edi, dword [esp + 0x34]
and eax, 0xffe00000
mov dword [esp + 0xd4], ebx
sub esi, eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 4]
sbb edx, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0xd8], edi
mov edi, dword [esp + 0x18]
mov eax, esi
add eax, 0x100000
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 + 4], esi
mov esi, dword [esp + 0xa8]
mov edx, 0xa2c13
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x94]
mov eax, edi
mul edx
mov dword [esp + 0x2c], eax
imul eax, esi, 0xa2c13
add edx, eax
mov eax, edi
mov dword [esp + 0x50], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x164], eax
imul eax, esi, 0x72d18
add edx, eax
mov eax, edi
mov dword [esp + 0x160], 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 + 0xe0], eax
sub edx, edi
imul eax, esi, 0xfff0c653
add eax, edx
mov edx, 0x215d1
mov dword [esp + 0xdc], 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 + 0x90]
mov edx, 0xa2c13
adc esi, dword [esp + 0x80]
add eax, dword [esp + 0x24]
adc esi, dword [esp + 0x28]
sub eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
mov eax, ebx
sbb esi, dword [esp + 0x10]
mul edx
mov dword [esp + 0x16c], eax
imul eax, ecx, 0xa2c13
add edx, eax
mov eax, ebx
mov dword [esp + 0x168], edx
mov edx, 0x72d18
mov dword [esp + 0x94], esi
mov esi, dword [esp + 4]
mul edx
mov dword [esp + 0x80], eax
imul eax, ecx, 0x72d18
add edx, eax
mov eax, ebx
mov dword [esp + 0x90], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x30], eax
imul eax, ecx, 0x9fb67
add edx, eax
mov eax, ebx
mov dword [esp + 0xc], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 8], eax
sub edx, ebx
imul eax, ecx, 0xfff0c653
add eax, edx
mov edx, 0x215d1
mov dword [esp + 0x34], eax
mov eax, ebx
mul edx
mov edi, eax
imul eax, ecx, 0x215d1
add edx, eax
mov eax, ebx
mov dword [esp + 0x10], edx
mov edx, 0xfff59083
mul edx
sub edx, ebx
mov ebx, dword [esp + 0x18]
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 + 0x78]
mov dword [esp + 0x170], eax
mov eax, esi
imul ecx, ebx, 0xfff59083
mov dword [esp + 0x174], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x15c], eax
imul eax, ebx, 0x72d18
add edx, eax
mov eax, esi
mov dword [esp + 0x158], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0xf4], eax
imul eax, ebx, 0x9fb67
add edx, eax
mov eax, esi
mov dword [esp + 0x178], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x78], 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 + 0xa0], eax
imul eax, ebx, 0x215d1
mov ebx, dword [esp + 0xd4]
add edx, eax
mov eax, esi
mov dword [esp + 0xb0], edx
mov edx, 0xfff59083
mul edx
sub edx, esi
mov esi, dword [esp + 0x10]
add edx, ecx
add edi, dword [esp + 0xe0]
mov ecx, 0xa2c13
adc esi, dword [esp + 0xdc]
add edi, eax
mov eax, ebx
adc esi, edx
add edi, dword [esp + 0x84]
adc esi, dword [esp + 0x88]
add edi, dword [esp + 0xe4]
adc esi, dword [esp + 0x4c]
sub edi, dword [esp + 0xb4]
sbb esi, dword [esp + 0xb8]
mul ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x4c], edi
mov edi, 0x72d18
mov dword [esp + 4], eax
imul eax, ecx, 0xa2c13
mov dword [esp + 0x10], esi
add edx, eax
mov eax, ebx
mov dword [esp + 0x18], edx
mul edi
mov dword [esp + 0x88], eax
imul eax, ecx, 0x72d18
add edx, eax
mov eax, ebx
mov dword [esp + 0xdc], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x84], eax
imul eax, ecx, 0x9fb67
add edx, eax
mov eax, ebx
mov dword [esp + 0x14c], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0xe4], eax
sub edx, ebx
imul eax, ecx, 0xfff0c653
add eax, edx
mov edx, 0x215d1
mov dword [esp + 0xe0], eax
mov eax, ebx
mul edx
mov dword [esp + 0x138], 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 + 0x14]
mov dword [esp + 0xb8], eax
imul eax, ecx, 0xfff59083
mov ecx, 0xa2c13
add eax, edx
mov dword [esp + 0xb4], eax
mov eax, ebx
mul ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x148], eax
imul eax, ecx, 0xa2c13
add edx, eax
mov eax, ebx
mov dword [esp + 0x144], edx
mul edi
mov edi, ecx
mov dword [esp + 0xcc], eax
imul eax, ecx, 0x72d18
imul edi, edi, 0xfff59083
add edx, eax
mov eax, ebx
mov dword [esp + 0x13c], edx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0x154], eax
imul eax, ecx, 0x9fb67
add edx, eax
mov eax, ebx
mov dword [esp + 0x150], edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x140], eax
sub edx, ebx
imul eax, ecx, 0xfff0c653
add edx, eax
mov eax, ebx
mov dword [esp + 0xd0], edx
mov edx, 0x215d1
mul edx
mov dword [esp + 0xd8], eax
imul eax, ecx, 0x215d1
mov ecx, 0xfff59083
add edx, eax
mov eax, ebx
mov dword [esp + 0xd4], edx
mul ecx
mov ecx, eax
mov eax, dword [esp + 0x30]
sub edx, ebx
mov ebx, dword [esp + 0x9c]
add edx, edi
mov edi, dword [esp + 0xc]
add eax, dword [esp + 0x164]
adc edi, dword [esp + 0x160]
add eax, dword [esp + 0x78]
adc edi, dword [esp + 0x98]
add eax, dword [esp + 0xe8]
adc edi, dword [esp + 0xec]
sub eax, dword [esp + 0xf8]
sbb edi, dword [esp + 0xfc]
add eax, dword [esp + 0x138]
adc edi, esi
add eax, ecx
mov ecx, dword [esp + 0x7c]
adc edi, edx
mov dword [esp + 0x30], eax
mov eax, ebx
mov edx, 0xa2c13
mov dword [esp + 0xc], edi
mul edx
imul edi, ecx, 0xa2c13
add edx, edi
add eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x68]
adc edx, dword [esp + 0x17c]
mov dword [esp + 0x98], eax
mov eax, ebx
imul esi, ecx, 0x9fb67
mov dword [esp + 0x78], edx
mov edx, 0x72d18
mul edx
mov dword [esp + 0x38], eax
imul eax, ecx, 0x72d18
add edx, eax
mov eax, ebx
mov dword [esp + 0x14], edx
mov edx, 0x9fb67
mul edx
add edx, esi
add edi, dword [esp + 0x188]
mov esi, dword [esp + 0x74]
adc esi, dword [esp + 0x100]
sub edi, dword [esp + 0x214]
sbb esi, dword [esp + 0x218]
add edi, eax
mov eax, ebx
adc esi, edx
add edi, dword [esp + 4]
mov edx, 0xfff0c653
adc esi, dword [esp + 0x18]
add edi, dword [esp + 0xcc]
adc esi, dword [esp + 0x13c]
mul edx
mov dword [esp + 0x68], edi
mov edi, ecx
mov dword [esp + 4], eax
sub edx, ebx
imul eax, ecx, 0xfff0c653
add eax, edx
mov edx, 0x215d1
mov dword [esp + 0x18], eax
mov eax, ebx
mov dword [esp + 0x74], esi
imul esi, ecx, 0x215d1
mul edx
mov ecx, dword [esp + 0x54]
add edx, esi
mov esi, dword [esp + 0x40]
add esi, dword [esp + 0x180]
adc ecx, dword [esp + 0x184]
sub esi, dword [esp + 0x210]
sbb ecx, dword [esp + 0x21c]
add esi, dword [esp + 0x16c]
adc ecx, dword [esp + 0x168]
add esi, dword [esp + 0x15c]
adc ecx, dword [esp + 0x158]
add esi, eax
mov eax, ebx
adc ecx, edx
add esi, dword [esp + 0x84]
adc ecx, dword [esp + 0x14c]
add esi, dword [esp + 0x140]
adc ecx, dword [esp + 0xd0]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x54], ecx
mov ecx, 0xfff59083
mul ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xf0], eax
sub edx, ebx
imul eax, edi, 0xfff59083
add eax, edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x14]
add edx, 0x100000
adc esi, 0
mov edi, esi
mov ebx, esi
sar edi, 0x15
shld ebx, edx, 0xb
add ecx, dword [esp + 0xc8]
adc eax, dword [esp + 0xac]
add ecx, dword [esp + 0x148]
adc eax, dword [esp + 0x144]
add ecx, ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x68]
adc eax, edi
and edx, 0xffe00000
sub dword [esp + 0x98], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 4]
sbb dword [esp + 0x78], esi
mov esi, dword [esp + 0x74]
add ecx, 0x100000
mov edi, ecx
adc esi, 0
mov edx, esi
mov dword [esp + 0x84], esi
shld esi, ecx, 0xb
mov ecx, dword [esp + 0x18]
sar edx, 0x15
add eax, dword [esp + 0x170]
adc ecx, dword [esp + 0x174]
add eax, dword [esp + 0x88]
adc ecx, dword [esp + 0xdc]
add eax, dword [esp + 0x154]
adc ecx, dword [esp + 0x150]
add eax, esi
mov esi, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
adc ecx, edx
and edi, 0xffe00000
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x17c], edi
mov edi, dword [esp + 0x2c]
add ecx, 0x100000
adc esi, 0
mov edx, esi
mov dword [esp + 0x88], esi
shld esi, ecx, 0xb
sar edx, 0x15
add edi, dword [esp + 0xc0]
adc eax, dword [esp + 0xc4]
add edi, dword [esp + 0x80]
adc eax, dword [esp + 0x90]
add edi, dword [esp + 0xf4]
adc eax, dword [esp + 0x178]
sub edi, dword [esp + 0x208]
sbb eax, dword [esp + 0x20c]
add edi, dword [esp + 0xf0]
adc eax, dword [esp + 0x100]
add edi, dword [esp + 0xe4]
adc eax, dword [esp + 0xe0]
add edi, dword [esp + 0xd8]
adc eax, dword [esp + 0xd4]
add edi, esi
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 8]
adc eax, edx
and ecx, 0xffe00000
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc]
add ecx, 0x100000
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 + 0xa0]
adc ebx, dword [esp + 0xb0]
add edi, dword [esp + 0x60]
adc ebx, dword [esp + 0x64]
sub edi, dword [esp + 0x70]
sbb ebx, dword [esp + 0xa4]
add edi, dword [esp + 0xb8]
adc ebx, dword [esp + 0xb4]
add edi, esi
mov dword [esp + 8], edi
mov edi, dword [esp + 0x28]
adc ebx, edx
and ecx, 0xffe00000
sub dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x24]
sbb dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
add eax, 0x100000
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 + 0x58]
adc ebx, dword [esp + 0x3c]
add edi, esi
adc ebx, edx
sub edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x38]
sbb ebx, dword [esp + 0xbc]
and eax, 0xffe00000
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0xa8]
sub dword [esp + 0x4c], eax
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x34]
sbb dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x94]
add edi, 0x100000
mov esi, ebx
adc ecx, 0
mov eax, ecx
mov dword [esp + 0xc4], ecx
shld ecx, edi, 0xb
sar eax, 0x15
add ecx, dword [esp + 0x20]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x14]
adc eax, dword [esp + 0x1c]
and edi, 0xffe00000
add edx, 0x100000
mov dword [esp + 0xbc], edi
mov edi, dword [esp + 8]
adc ecx, 0
mov dword [esp + 0x3c], eax
mov eax, ecx
mov dword [esp + 0x184], ecx
sar eax, 0x15
mov dword [esp + 0x100], eax
mov eax, ecx
mov ecx, dword [esp + 0x18]
shld eax, edx, 0xb
and edx, 0xffe00000
mov dword [esp + 0x180], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x188], eax
add edx, 0x100000
adc ecx, 0
mov eax, ecx
mov dword [esp + 0x48], ecx
sar eax, 0x15
mov dword [esp + 0x80], eax
mov eax, ecx
mov ecx, dword [esp + 0x50]
shld eax, edx, 0xb
and edx, 0xffe00000
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xf0], eax
add edx, 0x100000
adc ecx, 0
mov eax, ecx
mov dword [esp + 0x6c], ecx
shld ecx, edx, 0xb
sar eax, 0x15
add ecx, dword [esp + 0x30]
adc eax, dword [esp + 0xc]
and edx, 0xffe00000
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x70], eax
mov eax, edi
add eax, 0x100000
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 + 0x10]
and eax, 0xffe00000
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x28]
sub edi, eax
sbb ebx, esi
mov esi, dword [esp + 0x24]
mov dword [esp + 8], edi
mov dword [esp + 0x34], ebx
mov eax, edx
mov dword [esp + 0x8c], ecx
add eax, 0x100000
mov ecx, esi
adc ecx, 0
mov edi, ecx
sar edi, 0x15
mov dword [esp + 0x20], edi
mov edi, ecx
shld edi, eax, 0xb
and eax, 0xffe00000
sub edx, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x58]
sbb esi, ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x3c]
mov eax, edi
add eax, 0x100000
mov edx, esi
adc edx, 0
mov ecx, edx
sar ecx, 0x15
mov ebx, ecx
mov ecx, edx
shld ecx, eax, 0xb
and eax, 0xffe00000
mov dword [esp + 0xc], ebx
sub edi, eax
mov eax, ecx
sbb esi, edx
mov edx, 0xa2c13
mov dword [esp + 0x58], edi
imul edi, ebx, 0xa2c13
mul edx
mov dword [esp + 0x3c], esi
mov esi, ebx
add edi, edx
add eax, dword [esp + 0x98]
mov edx, 0x72d18
adc edi, dword [esp + 0x78]
mov dword [esp + 0x30], eax
mov eax, ecx
imul ebx, ebx, 0x72d18
mul edx
mov dword [esp + 0x1c], eax
add ebx, edx
mov eax, ecx
mov edx, 0x9fb67
mul edx
mov dword [esp + 0xc8], edi
imul edi, esi, 0x9fb67
mov dword [esp + 0x64], eax
mov eax, ecx
add edi, edx
mov edx, 0xfff0c653
mul edx
mov dword [esp + 0x60], eax
imul eax, esi, 0xfff0c653
sub edx, ecx
imul esi, dword [esp + 0xc], 0x215d1
add eax, edx
mov edx, 0x215d1
mov dword [esp + 0x78], eax
mov eax, ecx
mul edx
mov dword [esp + 0xac], eax
add esi, edx
mov eax, ecx
mov edx, 0xfff59083
mul edx
mov dword [esp + 0x4c], eax
imul eax, dword [esp + 0xc], 0xfff59083
sub edx, ecx
add eax, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc8]
mov ecx, eax
shld eax, edx, 0xb
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x1c]
sar ecx, 0x15
add eax, dword [esp + 0x38]
adc ebx, dword [esp + 0x14]
sub eax, dword [esp + 0x180]
sbb ebx, dword [esp + 0x184]
add eax, dword [esp + 0xc8]
adc ebx, ecx
mov dword [esp + 0x1c], eax
and edx, 0x1fffff
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
mov eax, ebx
sar eax, 0x15
shld ebx, ecx, 0xb
add edx, dword [esp + 0x68]
adc edi, dword [esp + 0x74]
sub edx, dword [esp + 0x17c]
sbb edi, dword [esp + 0x84]
add edx, dword [esp + 0x188]
adc edi, dword [esp + 0x100]
add edx, ebx
mov ebx, dword [esp + 0x78]
adc edi, eax
and ecx, 0x1fffff
mov eax, edi
mov dword [esp + 0x1c], ecx
mov ecx, edx
shld edi, edx, 0xb
mov edx, dword [esp + 0x60]
sar eax, 0x15
add edx, dword [esp + 4]
adc ebx, dword [esp + 0x18]
sub edx, dword [esp + 0x44]
sbb ebx, dword [esp + 0x48]
add edx, edi
mov edi, dword [esp + 0x4c]
adc ebx, eax
and ecx, 0x1fffff
mov eax, ebx
mov dword [esp + 0x64], ecx
shld ebx, edx, 0xb
mov ecx, edx
mov edx, dword [esp + 0xac]
sar eax, 0x15
add edx, dword [esp + 0x40]
adc esi, dword [esp + 0x54]
sub edx, dword [esp + 0xc0]
sbb esi, dword [esp + 0x88]
add edx, dword [esp + 0xf0]
adc esi, dword [esp + 0x80]
add edx, ebx
adc esi, eax
and ecx, 0x1fffff
mov eax, esi
mov dword [esp + 0x60], ecx
shld esi, edx, 0xb
mov ecx, dword [esp + 0xc]
sar eax, 0x15
add edi, dword [esp + 0x2c]
adc ecx, dword [esp + 0x50]
sub edi, dword [esp + 0x90]
sbb ecx, dword [esp + 0x6c]
add edi, esi
adc ecx, eax
and edx, 0x1fffff
mov eax, ecx
shld ecx, edi, 0xb
mov dword [esp + 0xac], edx
sar eax, 0x15
add ecx, dword [esp + 0x5c]
adc eax, dword [esp + 0x70]
mov edx, ecx
and edi, 0x1fffff
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x10]
mov ecx, eax
shld eax, edx, 0xb
sar ecx, 0x15
add eax, dword [esp + 8]
adc ecx, dword [esp + 0x34]
and edx, 0x1fffff
mov dword [esp + 0xc], edx
mov edx, ecx
shld ecx, eax, 0xb
sar edx, 0x15
add ecx, dword [esp + 0xa4]
adc edx, dword [esp + 0x8c]
and eax, 0x1fffff
mov dword [esp + 4], 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 + 0xa8]
adc edx, dword [esp + 0x94]
sub edi, dword [esp + 0xbc]
sbb edx, dword [esp + 0xc4]
add edi, eax
adc edx, ecx
and esi, 0x1fffff
mov ecx, edx
shld edx, edi, 0xb
mov dword [esp + 0x18], esi
sar ecx, 0x15
add edx, dword [esp + 0x58]
adc ecx, dword [esp + 0x3c]
and edi, 0x1fffff
mov dword [esp + 0x10], 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 + 0x30]
adc ebx, edx
mov dword [esp + 0x28], eax
mov eax, edi
mov edx, 0x72d18
imul esi, ecx, 0x72d18
mul edx
add eax, dword [esp + 0x1c]
adc edx, esi
mov dword [esp + 0x1c], eax
mov eax, edi
imul esi, ecx, 0x9fb67
mov dword [esp + 0x14], edx
mov edx, 0x9fb67
mul edx
add eax, dword [esp + 0x64]
adc edx, esi
mov dword [esp + 0x38], eax
mov eax, edi
imul esi, ecx, 0xfff0c653
mov dword [esp + 0x34], edx
mov edx, 0xfff0c653
mul edx
sub edx, edi
add eax, dword [esp + 0x60]
adc esi, edx
mov dword [esp + 0x30], 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 + 8], eax
mov eax, edi
mov dword [esp + 0x2c], 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 + 0x3c], eax
mov eax, ebx
sar ebx, 0x15
shld eax, edx, 0xb
add eax, dword [esp + 0x1c]
adc ebx, dword [esp + 0x14]
mov dword [esp + 0x68], eax
mov ecx, ebx
shld ebx, eax, 0xb
sar ecx, 0x15
add ebx, dword [esp + 0x38]
adc ecx, dword [esp + 0x34]
and eax, 0x1fffff
mov dword [esp + 0x50], eax
mov eax, ebx
mov edx, ecx
shld ecx, ebx, 0xb
sar edx, 0x15
add ecx, dword [esp + 0x30]
adc edx, dword [esp + 0x40]
and eax, 0x1fffff
mov esi, ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x74], eax
mov eax, edx
shld edx, ecx, 0xb
sar eax, 0x15
add edx, dword [esp + 8]
adc eax, dword [esp + 0x2c]
mov ecx, edx
mov edx, esi
and edx, 0x1fffff
mov esi, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], edx
mov edx, eax
shld eax, ecx, 0xb
sar edx, 0x15
add eax, dword [esp + 0x3c]
adc edx, edi
mov ecx, eax
mov dword [esp + 0x38], eax
and esi, 0x1fffff
mov eax, edx
shld edx, ecx, 0xb
mov dword [esp + 0x2c], esi
sar eax, 0x15
add edx, dword [esp + 0xc]
mov edi, edx
adc eax, 0
and ecx, 0x1fffff
mov edx, eax
shld eax, edi, 0xb
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], edi
sar edx, 0x15
add eax, dword [esp + 4]
mov ecx, eax
mov dword [esp + 4], eax
mov eax, edi
adc edx, 0
and eax, 0x1fffff
mov dword [esp + 8], 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 + 0x18]
adc eax, 0
mov dword [esp + 0x18], ecx
mov esi, eax
shld eax, ecx, 0xb
mov ecx, dword [esp + 0x50]
sar esi, 0x15
add eax, dword [esp + 0x10]
adc esi, 0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
shr ebx, 6
mov dword [esp + 0x1c], 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 + 0x74]
shr eax, 0x13
lea eax, [eax + ecx*4]
shr ecx, 0xe
mov byte [esi + 0x25], al
mov eax, edi
mov byte [esi + 0x26], bl
shl eax, 7
or eax, ecx
mov ecx, dword [esp + 0x54]
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 + 0x2c]
shr ecx, 0x11
mov eax, edi
shl eax, 4
or eax, ecx
mov ecx, dword [esp + 0x30]
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 + 0x34]
mov eax, edi
mov edi, dword [esp + 8]
shr eax, 0x14
lea eax, [eax + ecx*2]
shr ecx, 0xf
mov byte [esi + 0x2d], al
mov eax, dword [esp + 0x38]
shr eax, 7
mov byte [esi + 0x2e], al
mov eax, edi
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x14]
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 + 4]
mov eax, edi
mov edi, dword [esp + 0x18]
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 + 0x1c]
mov byte [esi + 0x37], cl
mov ecx, edi
shr edi, 0xb
shr ecx, 3
mov byte [esi + 0x38], cl
mov ecx, edi
mov edi, dword [esp + 0x24]
mov byte [esi + 0x39], cl
shld edx, edi, 0xb
mov ecx, edi
shr edi, 6
add edx, dword [esp + 0x20]
and ecx, 0x1fffff
lea eax, [eax + ecx*4]
shr ecx, 0xe
mov byte [esi + 0x3a], al
mov eax, edi
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
mov eax, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret