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

Disassembly:
sub esp, 0x84
mov eax, dword [esp + 0x8c]
push ebx
push ebp
push esi
mov ecx, dword [eax + 4]
mov esi, dword [eax + 0xc]
mov ebp, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0x18]
push edi
mov edi, dword [eax]
mov eax, edx
mul edi
mov dword [esp + 0x90], ebp
mov dword [esp + 0x44], eax
mov eax, ecx
mov dword [esp + 0x3c], edx
mul edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x50], eax
mov eax, ebx
mov dword [esp + 0x54], edx
mul edi
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x10], eax
mov eax, ebp
mov dword [esp + 0x28], edx
mul edi
mov dword [esp + 0x88], ecx
mov dword [esp + 0x1c], eax
mov eax, esi
mov dword [esp + 0x38], edx
mul edi
mov dword [esp + 0x74], esi
mov ebp, eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x7c]
mul edi
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x80]
mul dword [esp + 0x84]
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x84]
mul eax
mov dword [esp + 0x14], eax
mov eax, edx
xor edx, edx
add eax, ecx
mov dword [esp + 0x58], eax
adc edx, edx
xor eax, eax
push eax
add edx, esi
pop esi
adc eax, esi
add edx, edi
mov dword [esp + 0x5c], edx
adc eax, esi
xor ecx, ecx
add eax, ebx
adc ecx, esi
add eax, ebp
mov dword [esp + 0x60], eax
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x18]
adc eax, esi
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
adc eax, esi
xor ebp, ebp
add eax, dword [esp + 0x38]
adc ebp, esi
add dword [esp + 0x10], eax
adc ebp, esi
xor eax, eax
add ebp, dword [esp + 0x28]
push 0
adc eax, esi
add ebp, dword [esp + 0x54]
adc eax, esi
xor ecx, ecx
add eax, dword [esp + 0x58]
adc ecx, esi
add dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
adc ecx, esi
mov dword [esp + 0x20], ecx
or ecx, 0xffffffff
mul ecx
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x18]
mov ecx, eax
neg ecx
add edx, ecx
adc esi, 0
and dword [esp + 0x2c], 0
add esi, ebx
adc dword [esp + 0x2c], 0
add esi, ecx
adc dword [esp + 0x2c], 0
add eax, ecx
pop eax
adc eax, eax
xor ecx, ecx
add eax, dword [esp + 0x58]
push 0
adc ecx, ecx
add eax, edx
mov edx, dword [esp + 0x2c]
adc ecx, 0
mov dword [esp + 0x3c], eax
xor eax, eax
add ecx, dword [esp + 0x60]
adc eax, eax
add ecx, esi
pop esi
adc eax, esi
mov dword [esp + 0x70], ecx
xor ecx, ecx
add edx, ebx
add edx, eax
adc ecx, esi
add edx, dword [esp + 0x60]
mov dword [esp + 0x28], edx
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x18]
mov dword [esp + 0x48], ecx
adc eax, esi
xor ecx, ecx
add eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
adc ecx, esi
xor eax, eax
add ecx, ebp
adc eax, esi
add ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x1c]
adc eax, esi
movzx eax, al
cdq
add eax, edi
adc edx, esi
add eax, dword [esp + 0x44]
mov dword [esp + 0x20], eax
adc edx, esi
add ecx, dword [esp + 0x3c]
xor eax, eax
add ecx, edx
adc eax, esi
add ecx, ebx
mov dword [esp + 0x1c], ecx
adc eax, esi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
mul ecx
and dword [esp + 0x3c], 0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x2c], edx
mul ecx
push 0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x1c], edx
mul ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x58], edx
mul ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x5c], edx
mul ecx
mov ebp, eax
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x80]
mul ecx
mov edi, eax
mov ebx, edx
mov eax, ecx
mul ecx
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x88]
mul dword [esp + 0x84]
add edx, ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x68], edx
pop edx
adc ecx, edx
and dword [esp + 0x3c], edx
add ecx, esi
mov esi, dword [esp + 0x3c]
push 0
adc esi, edx
add ecx, edi
adc esi, edx
xor edi, edi
add esi, ebx
adc edi, edx
add esi, ebp
adc edi, edx
xor ebx, ebx
add edi, dword [esp + 0x64]
adc ebx, edx
add edi, dword [esp + 0x60]
adc ebx, edx
xor ebp, ebp
add ebx, dword [esp + 0x5c]
adc ebp, edx
add ebx, dword [esp + 0x48]
adc ebp, edx
add ebp, dword [esp + 0x58]
adc edx, edx
add ebp, dword [esp + 0x54]
adc edx, 0
and dword [esp + 0x14], 0
add edx, dword [esp + 0x1c]
adc dword [esp + 0x14], 0
add edx, dword [esp + 0x18]
mov dword [esp + 0x40], edx
adc dword [esp + 0x14], 0
add dword [esp + 0x3c], eax
pop eax
adc eax, eax
xor edx, edx
add eax, dword [esp + 0x70]
adc edx, edx
add dword [esp + 0x64], eax
mov eax, edx
adc eax, 0
xor edx, edx
add eax, dword [esp + 0x28]
push 0
adc edx, edx
add eax, ecx
mov dword [esp + 0x1c], eax
adc edx, 0
xor eax, eax
add edx, dword [esp + 0x4c]
adc eax, eax
add edx, esi
pop esi
adc eax, esi
mov dword [esp + 0x48], edx
xor ecx, ecx
add eax, dword [esp + 0x4c]
push 0
adc ecx, esi
add eax, edi
mov dword [esp + 0x50], eax
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x44]
adc eax, esi
add ecx, ebx
mov dword [esp + 0x44], ecx
adc eax, esi
mov ecx, dword [esp + 0x14]
xor ebx, ebx
add eax, dword [esp + 0x24]
adc ebx, esi
add eax, ebp
mov dword [esp + 0x24], eax
adc ebx, esi
xor eax, eax
add ebx, dword [esp + 0x20]
adc eax, esi
add ebx, dword [esp + 0x40]
adc eax, esi
add ecx, dword [esp + 0x30]
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x3c]
adc edx, esi
add ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
adc edx, esi
or ecx, 0xffffffff
mov dword [esp + 0x34], edx
mul ecx
mov esi, eax
mov edi, edx
xor edx, edx
mov ecx, edi
add ecx, esi
adc edx, edx
xor eax, eax
add edx, edi
adc eax, eax
add edx, esi
adc eax, 0
and dword [esp + 0x18], 0
mov dword [esp + 0x20], eax
mov eax, esi
add eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
adc eax, 0
xor ebp, ebp
add eax, dword [esp + 0x68]
adc ebp, ebp
add eax, ecx
mov dword [esp + 0x18], eax
adc ebp, 0
xor eax, eax
add ebp, dword [esp + 0x1c]
adc eax, eax
add ebp, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x64], ebp
pop ebp
adc eax, ebp
add edx, edi
xor ecx, ecx
add edx, eax
push 0
adc ecx, ebp
add edx, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
adc ecx, ebp
xor eax, eax
add ecx, dword [esp + 0x50]
mov dword [esp + 0x5c], ecx
adc eax, ebp
xor ecx, ecx
add eax, dword [esp + 0x44]
mov dword [esp + 0x48], eax
adc ecx, ebp
xor eax, eax
add ecx, dword [esp + 0x24]
adc eax, ebp
add ecx, dword [esp + 0x3c]
mov dword [esp + 0x58], ecx
adc eax, ebp
movzx eax, al
cdq
add eax, esi
mov ecx, edx
adc ecx, ebp
add eax, ebx
mov dword [esp + 0x54], eax
adc ecx, ebp
xor eax, eax
add ecx, edi
adc eax, ebp
add ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x80]
adc eax, ebp
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x7c]
mul ecx
and dword [esp + 0x28], 0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x2c], edx
mul ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x74], edx
mul ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x4c], edx
mul ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], edx
mul ecx
mov ebp, eax
mov dword [esp + 0x30], edx
mov eax, ecx
mul ecx
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x84]
mul ecx
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x88]
mul dword [esp + 0x80]
add edx, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x60], edx
pop edx
adc ecx, edx
and dword [esp + 0x24], edx
add ecx, esi
mov esi, dword [esp + 0x24]
adc esi, edx
add ecx, edi
adc esi, edx
xor edi, edi
add esi, ebx
push 0
adc edi, edx
add esi, ebp
adc edi, edx
xor ebx, ebx
add edi, dword [esp + 0x30]
adc ebx, edx
add edi, dword [esp + 0x24]
adc ebx, edx
xor ebp, ebp
add ebx, dword [esp + 0x44]
adc ebp, edx
add ebx, dword [esp + 0x50]
adc ebp, edx
add ebp, dword [esp + 0x4c]
adc edx, edx
add ebp, dword [esp + 0x68]
adc edx, 0
and dword [esp + 0x14], 0
add edx, dword [esp + 0x74]
adc dword [esp + 0x14], 0
add edx, dword [esp + 0x40]
mov dword [esp + 0x28], edx
adc dword [esp + 0x14], 0
add dword [esp + 0x18], eax
pop eax
adc eax, eax
xor edx, edx
add eax, dword [esp + 0x60]
push 0
adc edx, edx
add eax, dword [esp + 0x60]
mov dword [esp + 0x30], eax
mov eax, edx
adc eax, 0
xor edx, edx
add eax, dword [esp + 0x20]
adc edx, edx
add eax, ecx
mov dword [esp + 0x1c], eax
adc edx, 0
xor eax, eax
add edx, dword [esp + 0x5c]
adc eax, eax
add edx, esi
pop esi
adc eax, esi
mov dword [esp + 0x20], edx
xor ecx, ecx
add eax, dword [esp + 0x44]
adc ecx, esi
add eax, edi
mov dword [esp + 0x40], eax
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x54]
adc eax, esi
add ecx, ebx
mov dword [esp + 0x4c], ecx
adc eax, esi
mov ecx, dword [esp + 0x10]
xor ebx, ebx
add eax, dword [esp + 0x50]
adc ebx, esi
add eax, ebp
mov dword [esp + 0x48], eax
adc ebx, esi
xor eax, eax
add ebx, dword [esp + 0x38]
adc eax, esi
add ebx, dword [esp + 0x24]
adc eax, esi
add ecx, dword [esp + 0x28]
xor edx, edx
add ecx, eax
adc edx, esi
add ecx, dword [esp + 0x34]
adc edx, esi
add ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
adc edx, esi
mov eax, dword [esp + 0x14]
or ecx, 0xffffffff
mov dword [esp + 0x68], edx
mul ecx
push 0
mov esi, eax
mov edi, edx
xor edx, edx
mov ecx, edi
add ecx, esi
adc edx, edx
xor eax, eax
add edx, edi
adc eax, eax
add edx, esi
adc eax, 0
and dword [esp + 0x2c], 0
mov dword [esp + 0x20], eax
mov eax, esi
add eax, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
adc eax, 0
xor ebp, ebp
add eax, dword [esp + 0x30]
adc ebp, ebp
add eax, ecx
mov dword [esp + 0x2c], eax
adc ebp, 0
xor eax, eax
add ebp, dword [esp + 0x1c]
adc eax, eax
add ebp, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x74], ebp
pop ebp
adc eax, ebp
xor ecx, ecx
add edx, edi
add edx, eax
adc ecx, ebp
add edx, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
adc ecx, ebp
xor eax, eax
add ecx, dword [esp + 0x40]
mov dword [esp + 0x60], ecx
adc eax, ebp
xor ecx, ecx
add eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
adc ecx, ebp
xor eax, eax
add ecx, dword [esp + 0x48]
adc eax, ebp
add ecx, dword [esp + 0x14]
mov dword [esp + 0x58], ecx
adc eax, ebp
xor ecx, ecx
add eax, esi
adc ecx, ebp
add eax, ebx
mov dword [esp + 0x44], eax
adc ecx, ebp
xor eax, eax
add ecx, edi
adc eax, ebp
add ecx, dword [esp + 0x10]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x74]
adc eax, ebp
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x78]
mul ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x50], edx
mul ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x48], edx
mul ecx
and dword [esp + 0x30], 0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x40], edx
mul ecx
push 0
mov dword [esp + 0x28], eax
mov eax, ecx
mov dword [esp + 0x30], edx
mul ecx
mov ebp, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x80]
mul ecx
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x84]
mul ecx
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x88]
mul dword [esp + 0x78]
add edx, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x40], edx
pop edx
adc ecx, edx
and dword [esp + 0x30], edx
add ecx, esi
mov esi, dword [esp + 0x30]
push 0
adc esi, edx
add ecx, edi
adc esi, edx
xor edi, edi
add esi, ebx
adc edi, edx
add esi, ebp
adc edi, edx
xor ebx, ebx
add edi, dword [esp + 0x38]
adc ebx, edx
add edi, dword [esp + 0x28]
adc ebx, edx
xor ebp, ebp
add ebx, dword [esp + 0x30]
adc ebp, edx
add ebx, dword [esp + 0x24]
adc ebp, edx
add ebp, dword [esp + 0x44]
adc edx, edx
add ebp, dword [esp + 0x50]
adc edx, 0
and dword [esp + 0x14], 0
add edx, dword [esp + 0x4c]
adc dword [esp + 0x14], 0
add edx, dword [esp + 0x68]
mov dword [esp + 0x34], edx
adc dword [esp + 0x14], 0
add dword [esp + 0x2c], eax
pop eax
adc eax, eax
xor edx, edx
add eax, dword [esp + 0x70]
adc edx, edx
add eax, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
mov eax, edx
adc eax, 0
xor edx, edx
add eax, dword [esp + 0x1c]
adc edx, edx
add eax, ecx
mov dword [esp + 0x18], eax
adc edx, 0
xor eax, eax
add edx, dword [esp + 0x60]
adc eax, eax
add edx, esi
mov dword [esp + 0x24], edx
push 0
pop esi
adc eax, esi
xor ecx, ecx
add eax, dword [esp + 0x5c]
adc ecx, esi
add eax, edi
mov dword [esp + 0x2c], eax
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x58]
adc eax, esi
add ecx, ebx
mov dword [esp + 0x20], ecx
adc eax, esi
mov ecx, dword [esp + 0x10]
xor ebx, ebx
add eax, dword [esp + 0x44]
adc ebx, esi
add eax, ebp
mov dword [esp + 0x40], eax
adc ebx, esi
xor eax, eax
add ebx, dword [esp + 0x54]
adc eax, esi
add dword [esp + 0x30], ebx
adc eax, esi
add ecx, dword [esp + 0x50]
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x28]
adc edx, esi
add ecx, dword [esp + 0x38]
adc edx, esi
add ecx, dword [esp + 0x68]
mov dword [esp + 0x10], ecx
adc edx, esi
or ecx, 0xffffffff
mov dword [esp + 0x38], edx
mul ecx
mov esi, eax
mov edi, edx
xor edx, edx
mov ecx, edi
add ecx, esi
push edx
pop ebx
adc edx, ebx
xor ebp, ebp
add edx, edi
push 0
adc ebp, ebx
add edx, esi
adc ebp, ebx
add eax, dword [esp + 0x2c]
pop eax
adc eax, ebx
mov dword [esp + 0x14], eax
xor eax, eax
mov ebx, dword [esp + 0x14]
add ebx, dword [esp + 0x34]
push 0
adc eax, eax
add ebx, ecx
mov dword [esp + 0x18], ebx
pop ebx
adc eax, ebx
xor ecx, ecx
add eax, dword [esp + 0x18]
adc ecx, ebx
add eax, edx
mov dword [esp + 0x64], eax
adc ecx, ebx
xor eax, eax
add ebp, edi
add ebp, ecx
adc eax, ebx
add ebp, dword [esp + 0x24]
mov dword [esp + 0x3c], ebp
adc eax, ebx
movzx eax, al
cdq
add eax, dword [esp + 0x2c]
mov ecx, edx
mov dword [esp + 0x60], eax
adc ecx, ebx
xor eax, eax
add ecx, dword [esp + 0x20]
mov dword [esp + 0x5c], ecx
adc eax, ebx
xor ecx, ecx
add eax, dword [esp + 0x40]
push ebx
adc ecx, ebx
add eax, dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
adc ecx, ebx
xor eax, eax
add ecx, esi
pop edx
adc eax, ebx
add ecx, dword [esp + 0x30]
mov dword [esp + 0x44], ecx
adc eax, edx
xor ecx, ecx
add eax, edi
push 0
adc ecx, edx
add eax, dword [esp + 0x14]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x7c]
adc ecx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x94]
mul ecx
and dword [esp + 0x6c], 0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x54], edx
mul ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x50], edx
mul ecx
mov dword [esp + 0x30], eax
mov eax, ecx
mov dword [esp + 0x24], edx
mul ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], edx
mul ecx
mov ebp, eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x80]
mul ecx
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x84]
mul ecx
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x88]
mul dword [esp + 0x94]
add edx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x74], edx
pop edx
adc ecx, edx
and dword [esp + 0x68], edx
add ecx, esi
mov esi, dword [esp + 0x68]
adc esi, edx
add ecx, edi
adc esi, edx
xor edi, edi
add esi, ebx
adc edi, edx
add esi, ebp
adc edi, edx
xor ebx, ebx
add edi, dword [esp + 0x30]
adc ebx, edx
add edi, dword [esp + 0x34]
push 0
adc ebx, edx
xor ebp, ebp
add ebx, dword [esp + 0x28]
adc ebp, edx
add ebx, dword [esp + 0x30]
adc ebp, edx
add ebp, dword [esp + 0x24]
adc edx, edx
add ebp, dword [esp + 0x44]
adc edx, 0
and dword [esp + 0x14], 0
add edx, dword [esp + 0x50]
adc dword [esp + 0x14], 0
add edx, dword [esp + 0x4c]
mov dword [esp + 0x6c], edx
adc dword [esp + 0x14], 0
add dword [esp + 0x18], eax
pop eax
adc eax, eax
xor edx, edx
add eax, dword [esp + 0x64]
push 0
adc edx, edx
add eax, dword [esp + 0x74]
mov dword [esp + 0x34], eax
mov eax, edx
adc eax, 0
xor edx, edx
add eax, dword [esp + 0x40]
adc edx, edx
add eax, ecx
mov dword [esp + 0x1c], eax
adc edx, 0
xor eax, eax
add edx, dword [esp + 0x64]
adc eax, eax
add edx, esi
pop esi
adc eax, esi
mov dword [esp + 0x34], edx
xor ecx, ecx
add eax, dword [esp + 0x5c]
adc ecx, esi
add eax, edi
mov dword [esp + 0x24], eax
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x58]
adc eax, esi
add ecx, ebx
mov dword [esp + 0x2c], ecx
adc eax, esi
xor ecx, ecx
add eax, dword [esp + 0x44]
adc ecx, esi
add eax, ebp
mov dword [esp + 0x20], eax
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x54]
adc eax, esi
add dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x10]
adc eax, esi
add ecx, dword [esp + 0x50]
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x14]
adc edx, esi
add ecx, dword [esp + 0x1c]
adc edx, esi
add ecx, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
adc edx, esi
or ecx, 0xffffffff
mov dword [esp + 0x50], edx
mul ecx
mov edi, eax
xor eax, eax
mov ebx, edx
mov ecx, ebx
add ecx, edi
push 0
adc eax, esi
movzx eax, al
cdq
mov esi, eax
mov eax, edx
add esi, ebx
pop edx
adc eax, edx
add esi, edi
push edx
adc eax, edx
xor ebp, ebp
mov dword [esp + 0x20], eax
mov eax, edi
add eax, dword [esp + 0x18]
adc ebp, edx
xor eax, eax
add ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
adc eax, eax
add ebp, ecx
mov dword [esp + 0x50], ebp
pop ebp
adc eax, ebp
xor ecx, ecx
add eax, dword [esp + 0x18]
adc ecx, ebp
add eax, esi
mov dword [esp + 0x48], eax
adc ecx, ebp
xor eax, eax
add edx, ebx
add edx, ecx
adc eax, ebp
add edx, dword [esp + 0x34]
mov dword [esp + 0x1c], edx
adc eax, ebp
movzx eax, al
cdq
add eax, dword [esp + 0x24]
mov ecx, edx
mov dword [esp + 0x3c], eax
adc ecx, ebp
xor eax, eax
add ecx, dword [esp + 0x2c]
mov dword [esp + 0x60], ecx
adc eax, ebp
xor ecx, ecx
add eax, dword [esp + 0x20]
adc ecx, ebp
add eax, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
adc ecx, ebp
xor eax, eax
add ecx, edi
adc eax, ebp
add ecx, dword [esp + 0x68]
mov dword [esp + 0x58], ecx
adc eax, ebp
xor ecx, ecx
add eax, ebx
adc ecx, ebp
add eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x78]
adc ecx, ebp
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x8c]
mul ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x10], edx
mul ecx
mov dword [esp + 0x20], eax
mov eax, ecx
mov dword [esp + 0x18], edx
mul ecx
push 0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x30], edx
mul ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], edx
mul ecx
mov ebp, eax
mov dword [esp + 0x6c], edx
mov eax, ecx
mul dword [esp + 0x80]
mov edi, eax
mov ebx, edx
mov eax, ecx
mul dword [esp + 0x84]
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x88]
mul dword [esp + 0x90]
mov dword [esp + 0x18], eax
xor eax, eax
add edx, ecx
adc eax, eax
xor ecx, ecx
add eax, esi
adc ecx, ecx
add eax, edi
mov dword [esp + 0x68], eax
pop eax
adc ecx, eax
xor esi, esi
add ecx, ebx
adc esi, eax
add ecx, ebp
mov ebp, dword [esp + 0x18]
adc esi, eax
mov dword [esp + 0x70], ecx
xor edi, edi
add esi, dword [esp + 0x68]
adc edi, eax
add esi, dword [esp + 0x30]
adc edi, eax
xor ebx, ebx
add edi, dword [esp + 0x34]
adc ebx, eax
add edi, dword [esp + 0x24]
adc ebx, eax
add ebx, dword [esp + 0x2c]
adc eax, eax
add ebx, dword [esp + 0x20]
adc eax, 0
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x14]
adc ecx, ecx
add ebp, dword [esp + 0x40]
mov dword [esp + 0x18], ebp
adc ecx, 0
xor ebp, ebp
add eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
adc ebp, ebp
xor eax, eax
add ebp, edx
adc eax, eax
add ebp, dword [esp + 0x48]
mov dword [esp + 0x68], ebp
adc eax, 0
movzx eax, al
cdq
mov ebp, eax
add ebp, dword [esp + 0x64]
adc edx, 0
add ebp, dword [esp + 0x1c]
adc edx, 0
xor eax, eax
add edx, dword [esp + 0x70]
adc eax, eax
add edx, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
adc eax, 0
xor edx, edx
add eax, esi
adc edx, edx
add eax, dword [esp + 0x60]
mov dword [esp + 0x34], eax
adc edx, 0
xor eax, eax
add edx, edi
push eax
pop edi
adc eax, edi
add edx, dword [esp + 0x5c]
mov dword [esp + 0x24], edx
adc eax, edi
xor edx, edx
add eax, ebx
push 0
adc edx, edi
add eax, dword [esp + 0x5c]
mov dword [esp + 0x30], eax
adc edx, edi
xor eax, eax
add edx, dword [esp + 0x1c]
adc eax, edi
add edx, dword [esp + 0x48]
mov dword [esp + 0x24], edx
adc eax, edi
mov edx, dword [esp + 0x14]
add edx, ecx
xor ecx, ecx
add edx, dword [esp + 0x58]
adc ecx, edi
add edx, dword [esp + 0x54]
adc ecx, edi
add edx, eax
mov eax, dword [esp + 0x18]
adc ecx, edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x2c], ecx
or ecx, 0xffffffff
mul ecx
mov edi, eax
mov ebx, edx
xor eax, eax
mov esi, ebx
add esi, edi
adc eax, eax
movzx eax, al
cdq
mov ecx, eax
mov eax, edx
add ecx, ebx
pop edx
adc eax, edx
add ecx, edi
push edx
adc eax, edx
mov dword [esp + 0x1c], eax
mov eax, edi
add eax, dword [esp + 0x18]
pop eax
adc eax, edx
add eax, dword [esp + 0x68]
push 0
adc edx, edx
add eax, esi
pop esi
adc edx, esi
mov dword [esp + 0x38], eax
xor eax, eax
add edx, ebp
adc eax, esi
add edx, ecx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x18]
adc eax, esi
add edx, ebx
xor ecx, ecx
add edx, eax
push 0
adc ecx, esi
add edx, dword [esp + 0x34]
mov dword [esp + 0x1c], edx
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x38]
mov dword [esp + 0x40], ecx
adc eax, esi
xor ecx, ecx
add eax, dword [esp + 0x28]
mov dword [esp + 0x64], eax
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x30]
adc eax, esi
add ecx, dword [esp + 0x18]
mov dword [esp + 0x60], ecx
adc eax, esi
xor ecx, ecx
add eax, edi
adc ecx, esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x5c], eax
adc ecx, esi
xor eax, eax
add ecx, ebx
adc eax, esi
add ecx, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x8c]
adc eax, esi
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x7c]
mul ecx
and dword [esp + 0x6c], 0
mov dword [esp + 0x4c], eax
mov eax, ecx
mov dword [esp + 0x58], edx
mul ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x50], edx
mul ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x24], edx
mul ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], edx
mul ecx
mov ebp, eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x80]
mul ecx
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x84]
mul ecx
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x88]
mul dword [esp + 0x8c]
add edx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x74], edx
pop edx
adc ecx, edx
and dword [esp + 0x68], edx
add ecx, esi
mov esi, dword [esp + 0x68]
adc esi, edx
add ecx, edi
adc esi, edx
xor edi, edi
add esi, ebx
adc edi, edx
add esi, ebp
adc edi, edx
xor ebx, ebx
add edi, dword [esp + 0x30]
push 0
adc ebx, edx
add edi, dword [esp + 0x38]
adc ebx, edx
xor ebp, ebp
add ebx, dword [esp + 0x28]
adc ebp, edx
add ebx, dword [esp + 0x30]
adc ebp, edx
add ebp, dword [esp + 0x24]
adc edx, edx
add ebp, dword [esp + 0x44]
adc edx, 0
and dword [esp + 0x18], 0
add edx, dword [esp + 0x50]
adc dword [esp + 0x18], 0
add edx, dword [esp + 0x4c]
mov dword [esp + 0x6c], edx
adc dword [esp + 0x18], 0
add dword [esp + 0x3c], eax
pop eax
adc eax, eax
xor edx, edx
add eax, dword [esp + 0x64]
push 0
adc edx, edx
add eax, dword [esp + 0x74]
mov dword [esp + 0x34], eax
mov eax, edx
adc eax, 0
xor edx, edx
add eax, dword [esp + 0x1c]
adc edx, edx
add eax, ecx
mov dword [esp + 0x20], eax
adc edx, 0
xor eax, eax
add edx, dword [esp + 0x40]
adc eax, eax
add edx, esi
pop esi
adc eax, esi
mov dword [esp + 0x34], edx
xor ecx, ecx
add eax, dword [esp + 0x60]
adc ecx, esi
add eax, edi
mov dword [esp + 0x24], eax
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x5c]
adc eax, esi
add ecx, ebx
mov dword [esp + 0x2c], ecx
adc eax, esi
xor ecx, ecx
add eax, dword [esp + 0x58]
adc ecx, esi
add eax, ebp
mov dword [esp + 0x20], eax
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x44]
adc eax, esi
add dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x14]
adc eax, esi
add ecx, dword [esp + 0x54]
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x38]
adc edx, esi
add ecx, dword [esp + 0x50]
adc edx, esi
add ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
adc edx, esi
or ecx, 0xffffffff
mov dword [esp + 0x28], edx
mul ecx
push 0
mov edi, eax
mov ebx, edx
xor eax, eax
mov esi, ebx
add esi, edi
adc eax, eax
movzx eax, al
cdq
mov ecx, eax
mov eax, edx
add ecx, ebx
pop edx
adc eax, edx
add ecx, edi
push edx
adc eax, edx
mov dword [esp + 0x1c], eax
mov eax, edi
add eax, dword [esp + 0x3c]
pop eax
adc eax, edx
xor ebp, ebp
add eax, dword [esp + 0x30]
push edx
adc ebp, ebp
mov edx, dword [esp + 0x1c]
add eax, esi
mov dword [esp + 0x14], eax
pop esi
adc ebp, esi
xor eax, eax
add ebp, dword [esp + 0x1c]
adc eax, esi
add ebp, ecx
mov dword [esp + 0x64], ebp
adc eax, esi
xor ecx, ecx
add edx, ebx
add edx, eax
adc ecx, esi
add edx, dword [esp + 0x34]
mov dword [esp + 0x18], edx
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x24]
mov dword [esp + 0x3c], ecx
adc eax, esi
xor ecx, ecx
add eax, dword [esp + 0x2c]
mov dword [esp + 0x60], eax
adc ecx, esi
xor eax, eax
add ecx, dword [esp + 0x20]
adc eax, esi
add ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], ecx
adc eax, esi
xor ecx, ecx
add eax, edi
adc ecx, esi
add eax, dword [esp + 0x68]
mov dword [esp + 0x58], eax
adc ecx, esi
xor eax, eax
add ecx, ebx
adc eax, esi
add ecx, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x78]
adc eax, esi
mov dword [esp + 0x50], eax
mov eax, ecx
mul ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x54], edx
mul ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x8c]
mul ecx
and dword [esp + 0x68], 0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x20], edx
mul ecx
push 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], edx
mul ecx
mov ebp, eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x80]
mul ecx
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x84]
mul ecx
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x88]
mul dword [esp + 0x7c]
add edx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x74], edx
pop edx
adc ecx, edx
and dword [esp + 0x68], edx
add ecx, esi
mov esi, dword [esp + 0x68]
push 0
adc esi, edx
add ecx, edi
adc esi, edx
xor edi, edi
add esi, ebx
adc edi, edx
add esi, ebp
adc edi, edx
xor ebx, ebx
add edi, dword [esp + 0x34]
adc ebx, edx
add edi, dword [esp + 0x38]
adc ebx, edx
xor ebp, ebp
add ebx, dword [esp + 0x28]
adc ebp, edx
add ebx, dword [esp + 0x30]
adc ebp, edx
add ebp, dword [esp + 0x24]
adc edx, edx
add ebp, dword [esp + 0x44]
adc edx, 0
and dword [esp + 0x18], 0
add edx, dword [esp + 0x50]
adc dword [esp + 0x18], 0
add edx, dword [esp + 0x4c]
mov dword [esp + 0x6c], edx
adc dword [esp + 0x18], 0
add dword [esp + 0x14], eax
pop eax
adc eax, eax
xor edx, edx
add eax, dword [esp + 0x64]
adc edx, edx
add eax, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov eax, edx
adc eax, 0
xor edx, edx
add eax, dword [esp + 0x18]
adc edx, edx
add eax, ecx
mov dword [esp + 0x1c], eax
adc edx, 0
xor eax, eax
add edx, dword [esp + 0x3c]
adc eax, eax
add edx, esi
mov dword [esp + 0x34], edx
push 0
pop edx
adc eax, edx
xor ecx, ecx
add eax, dword [esp + 0x60]
adc ecx, edx
add eax, edi
mov dword [esp + 0x24], eax
adc ecx, edx
xor eax, eax
add ecx, dword [esp + 0x5c]
adc eax, edx
add ecx, ebx
mov dword [esp + 0x2c], ecx
adc eax, edx
xor ebx, ebx
add eax, dword [esp + 0x58]
adc ebx, edx
add eax, ebp
mov ebp, dword [esp + 0x14]
adc ebx, edx
mov dword [esp + 0x20], eax
xor eax, eax
add ebx, dword [esp + 0x44]
adc eax, edx
add ebx, dword [esp + 0x68]
adc eax, edx
add ebp, dword [esp + 0x54]
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x10]
adc ecx, edx
add ebp, dword [esp + 0x50]
adc ecx, edx
add ebp, dword [esp + 0x28]
adc ecx, edx
mov dword [esp + 0x68], ecx
or ecx, 0xffffffff
mul ecx
mov esi, eax
mov edi, edx
xor edx, edx
mov ecx, edi
add ecx, esi
adc edx, edx
xor eax, eax
add edx, edi
adc eax, eax
add edx, esi
adc eax, 0
and dword [esp + 0x38], 0
mov dword [esp + 0x28], eax
mov eax, esi
add eax, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
adc eax, 0
and dword [esp + 0x14], 0
add eax, dword [esp + 0x30]
adc dword [esp + 0x14], 0
add eax, ecx
mov ecx, dword [esp + 0x14]
adc ecx, 0
mov dword [esp + 0x38], eax
xor eax, eax
add ecx, dword [esp + 0x1c]
adc eax, eax
add ecx, edx
mov edx, dword [esp + 0x28]
adc eax, 0
mov dword [esp + 0x14], ecx
xor ecx, ecx
add edx, edi
add edx, eax
adc ecx, ecx
add edx, dword [esp + 0x34]
mov dword [esp + 0x28], edx
adc ecx, 0
xor eax, eax
add ecx, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
adc eax, eax
xor ecx, ecx
add eax, dword [esp + 0x2c]
push ecx
mov dword [esp + 0x20], eax
pop eax
adc ecx, eax
xor edx, edx
add ecx, dword [esp + 0x20]
adc edx, eax
add dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x38]
adc edx, eax
xor eax, eax
add edx, esi
adc eax, eax
add edx, ebx
mov ebx, dword [esp + 0x14]
adc eax, 0
mov dword [esp + 0x78], edx
xor esi, esi
add eax, edi
push esi
pop edi
adc esi, edi
add eax, ebp
mov dword [esp + 0x74], eax
adc esi, edi
xor eax, eax
or ebp, 0xffffffff
sub ecx, ebp
mov dword [esp + 0x30], ecx
sbb eax, edi
xor ecx, ecx
neg al
movzx eax, al
cdq
sub ebx, eax
sbb ecx, edx
sub ebx, ebp
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x28]
sbb ecx, edi
neg cl
movzx eax, cl
xor ecx, ecx
cdq
sub ebx, eax
sbb ecx, edx
sub ebx, ebp
mov ebp, dword [esp + 0x10]
sbb ecx, edi
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x18]
neg cl
movzx eax, cl
xor ecx, ecx
cdq
sub ebx, eax
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x1c]
sbb ecx, edx
neg cl
movzx eax, cl
xor ecx, ecx
cdq
sub ebx, eax
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x78]
sbb ecx, edx
neg cl
movzx eax, cl
xor ecx, ecx
cdq
sub ebp, eax
sbb ecx, edx
neg cl
movzx eax, cl
xor ecx, ecx
cdq
sub ebx, eax
sbb ecx, edx
sub ebx, 1
sbb ecx, edi
mov edi, dword [esp + 0x74]
neg cl
movzx eax, cl
xor ecx, ecx
cdq
sub edi, eax
sbb ecx, edx
or eax, 0xffffffff
sub edi, eax
sbb ecx, 0
neg cl
movzx eax, cl
xor ecx, ecx
cdq
sub esi, eax
sbb ecx, edx
add esi, dword [esp + 0x68]
mov edx, dword [esp + 0x98]
adc ecx, 0
movzx esi, cl
neg esi
sbb esi, esi
mov ecx, esi
mov eax, esi
and eax, dword [esp + 0x38]
not ecx
and ecx, dword [esp + 0x30]
or ecx, eax
mov eax, esi
and eax, dword [esp + 0x14]
mov dword [edx], ecx
mov ecx, esi
not ecx
and ecx, dword [esp + 0x34]
or ecx, eax
mov eax, esi
and eax, dword [esp + 0x28]
mov dword [edx + 4], ecx
mov ecx, esi
not ecx
and ecx, dword [esp + 0x24]
or ecx, eax
mov eax, esi
and eax, dword [esp + 0x18]
mov dword [edx + 8], ecx
mov ecx, esi
not ecx
and ecx, dword [esp + 0x2c]
or ecx, eax
mov eax, esi
and eax, dword [esp + 0x1c]
mov dword [edx + 0xc], ecx
mov ecx, esi
not ecx
and ecx, dword [esp + 0x20]
or ecx, eax
mov eax, esi
and eax, dword [esp + 0x10]
mov dword [edx + 0x10], ecx
mov ecx, esi
not ecx
and ecx, ebp
or ecx, eax
mov eax, esi
and eax, dword [esp + 0x78]
mov dword [edx + 0x14], ecx
mov ecx, esi
not ecx
and ecx, ebx
or ecx, eax
mov eax, esi
and esi, dword [esp + 0x74]
not eax
and eax, edi
mov dword [edx + 0x18], ecx
or eax, esi
mov dword [edx + 0x1c], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret