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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x130
mov ebx, dword [edx]
mov edi, edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x12c], ecx
mov eax, ebx
mov dword [esp + 0x28], ebx
mul ebx
mov dword [esp + 0x34], edx
mov edx, 0xffffffff
mov dword [esp + 0x14], eax
mul edx
mov ecx, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], edx
add ecx, edx
adc ecx, 0
mov dword [esp + 0x70], ecx
mov ecx, eax
add ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, eax
mov eax, edx
adc ecx, edx
mov ecx, dword [edi + 0x18]
setb byte [esp + 4]
adc eax, 0
mov eax, ebx
setb byte [esp + 0x9c]
mul ecx
mov dword [esp + 0x88], ecx
mov ecx, dword [edi + 0x14]
mov dword [esp + 0xd4], eax
mov eax, ebx
mov dword [esp + 0x84], edx
mul ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x108], eax
mov eax, ebx
mov dword [esp + 0xa0], edx
mul ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x90], eax
mov eax, ebx
mov dword [esp + 0x3c], edx
mul ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 8], edx
mov edx, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x100], eax
mov eax, ebx
mov dword [esp + 0x6c], edx
mul edx
mov ebp, edx
mov dword [esp + 0x10], edx
mov edx, dword [edi + 4]
mov esi, eax
mov dword [esp + 0x5c], eax
mov eax, ebx
mov ebx, dword [esp + 0xc]
mov edi, ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x44], edx
mul edx
add dword [esp + 0x34], eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x38], edx
adc edx, esi
adc edi, ecx
movzx ecx, byte [esp + 0x9c]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x2c]
adc eax, dword [esp + 0x90]
mov esi, edx
mov dword [esp + 0x64], eax
adc ebp, dword [esp + 0x108]
mov eax, dword [esp + 0xa0]
adc eax, dword [esp + 0xd4]
setb byte [esp + 0xd8]
add byte [esp + 4], 0xff
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
adc edi, dword [esp + 0x4c]
adc ecx, 0
add esi, eax
mov esi, ebx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x34]
adc esi, ecx
add edx, eax
mov edx, eax
mov eax, dword [esp + 0x8c]
adc ecx, ebx
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0x44]
adc eax, 0
setb cl
add eax, dword [esp + 0x70]
mov dword [esp + 0x8c], eax
movzx eax, cl
adc eax, edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x64]
adc dword [esp + 4], eax
mov eax, dword [esp + 0x30]
adc ebp, 0
setb byte [esp + 0x60]
adc eax, edx
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mul esi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x70], edx
mul esi
mov ebx, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
mul esi
mov ebp, eax
mov dword [esp + 0x64], eax
mov eax, esi
mov ecx, edx
mov dword [esp + 0x78], edx
mul esi
mov esi, edx
mov edx, edi
add edx, eax
adc esi, ebp
mov ebp, esi
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x58]
adc ebx, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x9c]
adc esi, dword [esp + 0xc]
setb byte [esp + 0xa8]
add byte [esp + 0x60], 0xff
mov dword [esp + 0x94], esi
mov esi, ebx
adc dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x68]
setb byte [esp + 0xd0]
add esi, ecx
mov esi, edi
mov edi, dword [esp + 0x8c]
adc esi, eax
mov eax, dword [esp + 0x98]
add ebx, ecx
mov ecx, 0xffffffff
mov dword [esp + 0x9c], ebx
adc edx, edi
setb byte [esp + 0x24]
adc eax, ebp
mov dword [esp + 0x60], eax
mov eax, ebx
mul ecx
mov ecx, eax
mov ebp, edx
mov dword [esp + 0x30], eax
add ecx, edx
mov dword [esp + 0x104], ebp
mov edx, ecx
adc edx, 0
mov dword [esp + 0xb0], edx
mov edx, eax
add edx, ebx
lea edx, [esi + edi]
adc esi, edi
mov edi, eax
add edi, ebx
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x10]
adc ecx, edx
mov ecx, dword [esp + 0x60]
mov edx, eax
mov eax, dword [esp + 0x80]
setb byte [esp + 0x74]
mov edi, esi
adc ecx, 0
add edx, ebp
adc edx, ecx
mov ecx, dword [eax + 0x1c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], edx
mul ecx
mov dword [esp + 0x8c], ecx
mov ebx, eax
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x6c]
mov ecx, edx
mov dword [esp + 0x10c], edx
mul eax
add edi, dword [esp + 0x64]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x5c]
adc eax, dword [esp + 0x78]
mov dword [esp + 0x14], eax
setb byte [esp + 0x28]
add byte [esp + 0xd8], 0xff
mov eax, dword [esp + 0x84]
adc eax, ebx
mov ebx, dword [esp + 4]
setb byte [esp + 0xf8]
adc dword [esp + 0x4c], ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
setb byte [esp + 0xfc]
add byte [esp + 0x24], 0xff
adc eax, dword [esp + 0x98]
mov eax, ecx
setb byte [esp + 0x20]
adc ebx, dword [esp + 0x34]
add eax, ebp
adc ecx, ebp
setb byte [esp + 0xa4]
adc ebx, ebp
setb byte [esp + 0x24]
add eax, dword [esp + 0x38]
mov ecx, eax
add ecx, edx
mov ecx, dword [esp + 0x60]
adc esi, dword [esp + 0x64]
add eax, edx
mov edx, dword [esp + 0x14]
adc edi, dword [esp + 0x68]
mov dword [esp + 0x64], eax
mov dword [esp + 0x10], esi
setb byte [esp + 0xd8]
adc edx, 0
add byte [esp + 0x74], 0xff
adc dword [esp + 0xb0], ecx
setb cl
adc edx, ebx
mov dword [esp + 0x5c], edx
mov edx, 0xffffffff
mul edx
mov esi, eax
mov edi, edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x60], eax
add esi, edx
adc esi, 0
mov dword [esp + 0xac], esi
mov esi, eax
add esi, edx
mov edx, eax
adc edx, edi
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x94]
setb byte [esp + 0xbc]
add byte [esp + 0x20], 0xff
adc edx, dword [esp + 4]
adc edi, dword [esp + 0x7c]
setb byte [esp + 0x74]
add byte [esp + 0xa4], 0xff
adc ebp, 0
mov ebp, eax
setb dl
add byte [esp + 0x24], 0xff
movzx edx, dl
adc edx, 0
add cl, 0xff
mov ecx, eax
mov eax, dword [esp + 0x64]
adc ebx, 0
adc edx, edi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10]
setb byte [esp + 0xcc]
add ecx, eax
lea ecx, [edx + edi]
adc edx, edi
mov dword [esp + 0x10], edx
mov edx, ebp
add edx, eax
mov eax, dword [esp + 0x5c]
adc ecx, esi
setb byte [esp + 4]
adc eax, 0
add ebp, dword [esp + 0x98]
adc eax, ebp
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
mov al, byte [esp + 0xd0]
add al, 0xff
mov eax, dword [esp + 0x78]
adc eax, dword [esp + 0x2c]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x88]
mul ebp
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], edx
mul ebp
mov edi, eax
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x68], edx
mul ebp
mov ecx, eax
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x48]
mov esi, edx
mov dword [esp + 0x94], edx
mul ebp
add byte [esp + 0x28], 0xff
mov ebp, dword [esp + 0x80]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xc4], edx
adc ebp, eax
mov eax, dword [esp + 0xb0]
adc ecx, edx
mov dword [esp + 0x80], ebp
adc edi, esi
mov dword [esp + 0xc0], ecx
mov cl, byte [esp + 0xbc]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xf0], edi
mov edi, dword [esp + 0x98]
adc eax, dword [esp + 0x68]
mov dword [esp + 0x11c], eax
mov eax, ecx
setb byte [esp + 0x43]
add al, 0xff
mov eax, edi
adc eax, 0
setb al
add byte [esp + 0xd8], 0xff
movzx eax, al
adc ebx, dword [esp + 0x14]
setb byte [esp + 3]
adc esi, ebp
add cl, 0xff
mov ecx, dword [esp + 0x44]
adc esi, edi
adc eax, 0
add byte [esp + 4], 0xff
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
adc eax, dword [esp + 0x5c]
mov eax, dword [esp + 8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x8c]
adc esi, 0
setb byte [esp + 0xb8]
mov dword [esp + 0xac], esi
mov esi, ecx
mul ecx
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], edx
mul ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x14], edx
mov eax, ecx
mul esi
mov ebx, eax
mov dword [esp + 0x114], eax
mov eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x44], edx
mul ecx
mov edi, eax
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], edx
mul ecx
mov esi, eax
mov dword [esp + 0xe0], eax
mov eax, ecx
mov ebp, edx
mov dword [esp + 0xe4], edx
mul ecx
mov ecx, dword [esp + 0x28]
add ecx, dword [esp + 0x50]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xa4]
adc dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x7c]
adc eax, dword [esp + 0xc4]
adc edx, esi
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xd8]
mov esi, dword [esp + 0x20]
adc edi, ebp
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x100]
setb byte [esp + 0xec]
add byte [esp + 0xa8], 0xff
mov dword [esp + 0xe8], edi
mov edi, ebx
adc edi, dword [esp + 0x70]
adc ecx, dword [esp + 0x44]
adc eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 4]
adc eax, 0
setb byte [esp + 0xa4]
add byte [esp + 0x74], 0xff
mov dword [esp + 0x110], eax
adc edi, dword [esp + 0x54]
adc ecx, dword [esp + 0xc8]
setb byte [esp + 0x74]
add byte [esp + 0xcc], 0xff
mov eax, ecx
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 8]
adc edi, 0
setb byte [esp + 0xcc]
adc eax, dword [esp + 0x9c]
add byte [esp + 3], 0xff
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x80]
adc eax, dword [esp + 0x24]
adc edi, dword [esp + 0xc0]
setb byte [esp + 0xc0]
add edx, dword [esp + 0x10]
mov eax, edx
add eax, ebp
adc ecx, dword [esp + 0x50]
add edx, ebp
mov ebp, edx
adc dword [esp + 0x28], esi
mov edx, dword [esp + 0xac]
mov eax, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 8], ecx
setb byte [esp + 0xc8]
adc edx, dword [esp + 0xc]
add byte [esp + 0xb8], 0xff
adc edi, dword [esp + 0xbc]
mov dword [esp + 0x28], edx
mov edx, 0xffffffff
setb byte [esp + 0x10]
mul edx
mov ebx, eax
add eax, edx
mov dword [esp + 0x80], edx
mov edx, eax
mov dword [esp + 0x100], ebx
adc edx, 0
mov dword [esp + 0x50], edx
mov edx, ebx
add edx, ebp
lea edx, [ecx + esi]
mov ecx, ebx
mov esi, dword [esp + 0xb4]
mov ebp, edi
adc eax, edx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x80]
setb byte [esp + 0xb8]
adc eax, 0
add ecx, edx
adc ecx, eax
add byte [esp + 0xc8], 0xff
mov eax, dword [esp + 0xac]
mov dword [esp + 0x24], ecx
mov ecx, edx
adc dword [esp + 0xc], eax
mov eax, ebx
setb byte [esp + 0xc]
adc ebp, esi
add eax, edx
mov edx, ebx
adc edx, ecx
mov ecx, dword [esp + 0x78]
mov dl, byte [esp + 0x74]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xdc]
setb byte [esp + 3]
add byte [esp + 0xd0], 0xff
adc ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0xa8]
setb byte [esp + 0x78]
adc ecx, dword [esp + 0x4c]
add dl, 0xff
adc ecx, 0
add byte [esp + 0xcc], 0xff
mov edx, ecx
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x30]
adc eax, dword [esp + 0x9c]
mov eax, dword [esp + 0x54]
adc ecx, 0
setb byte [esp + 0xcc]
add byte [esp + 0xc0], 0xff
mov dword [esp + 0x30], ecx
lea ecx, [ecx + edx]
adc eax, dword [esp + 0xf0]
adc ecx, dword [esp + 0x11c]
setb byte [esp + 0xf0]
add byte [esp + 0x10], 0xff
mov dword [esp + 0xc0], ecx
adc eax, 0
setb byte [esp + 0xbc]
adc ecx, dword [esp + 0x64]
add byte [esp + 0xc], 0xff
adc edi, esi
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x3c]
adc eax, dword [esp + 0xc4]
adc ecx, dword [esp + 0xe8]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x20]
setb byte [esp + 0xc4]
add ebx, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
adc dword [esp + 8], eax
add byte [esp + 0xf8], 0xff
mov eax, dword [esp + 0x10c]
adc eax, 0
setb al
add byte [esp + 0xfc], 0xff
movzx eax, al
adc eax, 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x88]
mul dword [esp + 0x48]
add byte [esp + 0xec], 0xff
mov ecx, eax
mov dword [esp + 0xd0], edx
mov dl, byte [esp + 3]
mov dword [esp + 0xe8], eax
adc ecx, dword [esp + 0x5c]
mov eax, edx
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0x80]
setb byte [esp + 0xfc]
add al, 0xff
mov eax, ecx
adc eax, 0
setb al
add dl, 0xff
movzx eax, al
adc ebp, ecx
adc eax, 0
add byte [esp + 0xb8], 0xff
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x50]
adc eax, dword [esp + 0x28]
mov eax, dword [esp + 0x8c]
adc ebp, 0
setb byte [esp + 0xb4]
mul dword [esp + 0x6c]
mov dword [esp + 0x50], ebp
mov ebp, edi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x9c], edx
mul esi
mov ebx, eax
mov dword [esp + 0xb8], eax
mov eax, esi
mov dword [esp + 0x11c], edx
mul esi
add ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x70]
mov ecx, eax
mov eax, dword [esp + 0xe0]
adc esi, dword [esp + 0xf4]
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x24]
adc dword [esp + 0x94], eax
mov dword [esp + 0x70], esi
adc ecx, dword [esp + 0xe4]
adc edx, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x90]
setb byte [esp + 0xf4]
add byte [esp + 0x43], 0xff
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 8]
adc ebx, dword [esp + 0x34]
setb byte [esp + 0xf8]
add edx, dword [esp + 0xac]
mov dword [esp + 0xe0], ebx
mov eax, edx
add eax, ecx
adc edi, dword [esp + 0x58]
add edx, ecx
mov ecx, dword [esp + 0x50]
adc dword [esp + 0x6c], ebp
mov eax, edx
mov dword [esp + 8], edx
mov dword [esp + 0x3c], edi
setb byte [esp + 3]
adc ecx, esi
add byte [esp + 0xb4], 0xff
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x54]
adc dword [esp + 0x2c], ecx
mov ecx, edx
mov edx, 0xffffffff
setb byte [esp + 0x54]
mul edx
mov edi, eax
mov ebx, edx
mov esi, eax
mov dword [esp + 0x6c], eax
add edi, edx
mov dword [esp + 0xac], ebx
mov edx, edi
adc edx, 0
add esi, ecx
mov ecx, eax
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x3c]
lea esi, [edx + ebp]
adc edi, esi
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x44]
setb byte [esp + 0x42]
adc esi, 0
add ecx, ebx
adc ecx, esi
mov esi, eax
mov dword [esp + 0x58], ecx
mov ecx, eax
add ecx, ebx
adc esi, ebx
mov dword [esp + 0xb4], ecx
mov esi, ebx
setb cl
add eax, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ch, cl
adc edx, ebp
add byte [esp + 0x78], 0xff
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x70]
adc dword [esp + 0x4c], 0
adc eax, dword [esp + 0x110]
setb byte [esp + 0x43]
add ch, 0xff
adc esi, 0
setb ch
add byte [esp + 3], 0xff
movzx esi, ch
adc edx, dword [esp + 0x50]
mov edx, dword [esp + 0x2c]
setb ch
adc edx, dword [esp + 0x94]
add cl, 0xff
adc edx, ebx
mov ebx, dword [esp + 0x114]
adc esi, 0
add byte [esp + 0x42], 0xff
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0xdc]
adc esi, dword [esp + 0x90]
mov esi, dword [esp + 0xa0]
adc edx, 0
mov ebp, esi
setb byte [esp + 0x50]
add ebp, ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x118]
adc edi, dword [esp + 0x120]
adc dword [esp + 0x68], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x44], edi
adc dword [esp + 0x5c], edx
mov edx, dword [esp + 0xa8]
setb byte [esp + 0x110]
add byte [esp + 0x74], 0xff
adc dword [esp + 0x4c], edx
adc eax, 0
mov dword [esp + 0xc], eax
setb byte [esp + 0x118]
add byte [esp + 0x54], 0xff
mov eax, dword [esp + 0x10]
adc eax, 0
setb byte [esp + 0x90]
add ch, 0xff
mov ecx, dword [esp + 0x94]
adc dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x108]
adc eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
setb byte [esp + 3]
add eax, dword [esp + 0xb4]
mov edx, eax
add edx, ecx
adc esi, ebx
add eax, ecx
mov ecx, dword [esp + 0x24]
adc ebp, dword [esp + 0x58]
mov ebp, eax
mov dword [esp + 0x3c], eax
setb byte [esp + 0xb4]
adc ecx, edi
mov dword [esp + 0xa8], ecx
mov ecx, 0xffffffff
mul ecx
mov ecx, dword [esp + 0x70]
mov ebx, eax
mov edi, eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x4c], eax
add ebx, edx
adc edi, edx
mov edi, edx
mov edx, eax
setb byte [esp + 0x42]
add byte [esp + 0x50], 0xff
adc dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x58]
setb byte [esp + 0xb8]
add edx, ebp
lea edx, [esi + ecx]
adc esi, ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xa0], esi
mov esi, eax
add esi, ebp
mov esi, dword [esp + 0x84]
adc edx, ebx
setb byte [esp + 0xdc]
adc ecx, 0
add eax, edi
adc ecx, eax
add eax, dword [esp + 0xa0]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x88]
mov ebp, esi
mov dword [esp + 0xa0], eax
mov edi, eax
mov eax, ecx
mul dword [esp + 0x1c]
mov dword [esp + 0x58], eax
mov eax, ecx
mov dword [esp + 0x2c], edx
mov ecx, 0xffffffff
mul dword [esp + 0x18]
add edi, dword [esp + 0xd4]
mov dword [esp + 0x74], eax
mov eax, edi
adc ebp, dword [esp + 0x7c]
mov dword [esp + 0x108], edx
mov dword [esp + 0x124], edi
mul ecx
mov ebx, edx
mov dword [esp + 0x50], edx
mov edx, eax
mov ecx, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x20]
add edx, edi
lea edx, [ecx + ebx]
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x54], ebp
lea eax, [ebp + eax]
mov ebp, dword [esp + 0x68]
adc eax, edx
mov eax, dword [esp + 0xb0]
mov edx, 0
setb byte [esp + 0x78]
add esi, dword [esp + 0x7c]
adc dword [esp + 0x14], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x84], esi
adc dword [esp + 0x34], eax
mov eax, dword [esp + 0xd0]
adc eax, dword [esp + 0x58]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x2c]
adc eax, dword [esp + 0x74]
mov dword [esp + 0xb0], eax
mov al, byte [esp + 0xcc]
setb byte [esp + 0x7c]
add byte [esp + 0xbc], 0xff
mov dl, al
mov eax, dword [esp + 0xc0]
adc eax, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
adc eax, 0
setb byte [esp + 0xc0]
add dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], eax
adc edx, dword [esp + 0x104]
setb byte [esp + 0x114]
add byte [esp + 0xf0], 0xff
lea ecx, [edx + ecx]
mov dword [esp + 0xe8], edx
mov edx, dword [esp + 0x4c]
adc ecx, dword [esp + 0xe0]
setb byte [esp + 0xbc]
add byte [esp + 0xc4], 0xff
lea esi, [eax + ecx]
mov al, byte [esp + 0x90]
mov dword [esp + 0xc8], ecx
mov cl, byte [esp + 0x42]
adc esi, dword [esp + 0xec]
setb byte [esp + 0xf0]
add edx, ebx
mov dword [esp + 0xcc], esi
adc edx, 0
add al, 0xff
mov eax, esi
mov esi, dword [esp + 0x10]
adc eax, dword [esp + 0x38]
add byte [esp + 3], 0xff
adc eax, dword [esp + 0xe4]
mov edi, eax
mov eax, ecx
setb byte [esp + 0x104]
add al, 0xff
mov eax, ebx
adc eax, 0
mov eax, dword [esp + 0x44]
setb ch
add byte [esp + 0xb4], 0xff
adc eax, dword [esp + 0x24]
setb al
adc esi, ebp
add cl, 0xff
movzx ecx, ch
adc esi, ebx
mov ebx, dword [esp + 0x50]
adc ecx, 0
add byte [esp + 0xdc], 0xff
mov dword [esp + 0x30], ecx
adc edx, dword [esp + 0xa8]
mov edx, dword [esp + 0x20]
adc esi, 0
setb byte [esp + 0x44]
add byte [esp + 0xb8], 0xff
mov dword [esp + 0xec], esi
adc edi, 0
setb byte [esp + 0xc4]
add al, 0xff
mov eax, dword [esp + 0x70]
adc dword [esp + 0x10], ebp
mov ecx, eax
mov ebp, eax
adc edi, dword [esp + 0x5c]
setb byte [esp + 0x64]
add dword [esp + 0x124], eax
mov eax, dword [esp + 0xa0]
adc dword [esp + 0x54], edx
add ecx, ebx
adc ecx, 0
add eax, dword [esp + 0xd4]
mov dword [esp + 0x24], ecx
mov ecx, ebp
adc dword [esp + 0x84], edx
mov dword [esp + 0xa0], eax
mov al, byte [esp + 0x78]
mov edx, 0
setb byte [esp + 0xe4]
adc esi, dword [esp + 0x14]
add byte [esp + 0x44], 0xff
adc edi, dword [esp + 0x30]
mov dword [esp + 0xe0], esi
setb byte [esp + 0xd4]
add al, 0xff
mov al, byte [esp + 0xa4]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x9c]
adc esi, 0
add ecx, ebx
adc ecx, esi
add byte [esp + 0x43], 0xff
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
mov dl, al
mov eax, dword [esp + 0x18]
adc edx, 0
mov ebp, edx
mul eax
add byte [esp + 0x110], 0xff
adc eax, esi
adc edx, dword [esp + 0x74]
mov dword [esp + 0xa4], eax
mov eax, ecx
mov dword [esp + 0x20], edx
setb byte [esp + 0x44]
mul dword [esp + 0x1c]
add byte [esp + 0xf4], 0xff
adc dword [esp + 0x58], esi
mov dword [esp + 0xa8], eax
mov dword [esp + 0x5c], edx
mov esi, dword [esp + 0xd0]
adc dword [esp + 0x2c], eax
mov eax, ecx
setb byte [esp + 0x68]
mul dword [esp + 0x48]
add byte [esp + 0xfc], 0xff
mov ecx, edx
adc esi, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xe8]
adc ecx, 0
setb dl
add byte [esp + 0xf8], 0xff
adc edi, 0
setb dh
add byte [esp + 0x118], 0xff
adc edi, ebp
movzx ebp, dh
adc ebp, 0
add eax, dword [esp + 0xc]
movzx eax, byte [esp + 0x114]
adc eax, edi
movzx edi, dl
movzx edx, byte [esp + 0xc0]
adc ebp, 0
add byte [esp + 0xbc], 0xff
adc eax, 0
adc ebp, ecx
mov ecx, dword [esp + 0xc8]
adc edi, 0
add ecx, dword [esp + 0x60]
adc edx, dword [esp + 0x98]
setb cl
add edx, eax
mov eax, dword [esp + 0x70]
movzx ecx, cl
adc ecx, ebp
mov ebp, dword [esp + 0x100]
adc edi, 0
add byte [esp + 0xf0], 0xff
mov dword [esp + 0x60], edi
adc edx, esi
mov esi, eax
adc ecx, 0
setb byte [esp + 0xd0]
add esi, ebx
mov edi, ecx
mov dword [esp + 0xfc], ecx
adc eax, ebx
mov dword [esp + 0x1c], esi
mov esi, ebx
mov eax, dword [esp + 0xcc]
mov bh, byte [esp + 0xc4]
setb bl
add byte [esp + 0x90], 0xff
adc eax, dword [esp + 0x38]
adc ebp, 0
setb cl
add ebp, edx
movzx ecx, cl
adc ecx, dword [esp + 0x80]
setb byte [esp + 0x90]
add byte [esp + 0x104], 0xff
lea eax, [ecx + edi]
mov edi, dword [esp + 8]
mov dword [esp + 0x100], ecx
mov cl, bh
adc ebp, dword [esp + 0x58]
adc eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
setb byte [esp + 0x2c]
add cl, 0xff
mov eax, ebp
mov ecx, ebx
adc eax, edi
add cl, 0xff
mov ecx, esi
adc ecx, 0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xec]
setb dl
add byte [esp + 0xe4], 0xff
movzx ecx, dl
mov edx, dword [esp + 0xc]
adc eax, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
setb byte [esp + 0x98]
adc eax, dword [esp + 0x34]
add bl, 0xff
adc eax, esi
mov esi, dword [esp + 0xe0]
adc ecx, 0
add byte [esp + 0x78], 0xff
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x34]
adc esi, dword [esp + 0x24]
mov esi, dword [esp + 0x8c]
adc eax, 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x6c]
setb byte [esp + 0xf4]
add bh, 0xff
adc ebp, edi
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x5c]
adc eax, 0
setb byte [esp + 0x104]
add byte [esp + 0x64], 0xff
lea edx, [eax + edx]
mov dword [esp + 0x6c], eax
adc edi, dword [esp + 0xa4]
adc edx, dword [esp + 0x20]
setb byte [esp + 0x20]
add byte [esp + 0xd4], 0xff
mov eax, edx
mov dword [esp + 0x14], edx
adc edi, 0
setb byte [esp + 0x24]
adc eax, dword [esp + 0x3c]
add byte [esp + 0x98], 0xff
adc dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x88]
adc edi, dword [esp + 0x120]
adc eax, dword [esp + 0xb0]
mov dword [esp + 0x48], edi
mov dword [esp + 8], eax
mov eax, esi
setb byte [esp + 0xb0]
mul ecx
mov ebx, eax
mov eax, ecx
mov dword [esp + 0xd4], edx
mul ecx
add byte [esp + 0x7c], 0xff
mov ecx, dword [esp + 0x1c]
adc eax, dword [esp + 0x108]
adc edx, ebx
mov dword [esp + 0x78], eax
mov eax, esi
setb byte [esp + 0x98]
mov dword [esp + 0x7c], edx
mul dword [esp + 0x18]
add ecx, dword [esp + 0x54]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x128]
mov esi, eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x1c], ecx
add ecx, edx
mov ecx, dword [esp + 0xd8]
mov edi, eax
adc edi, ecx
add eax, ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0x74]
adc ecx, dword [esp + 0x28]
adc dword [esp + 0x9c], edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 4], ecx
adc dword [esp + 0x10], edi
mov edi, ebp
adc edi, esi
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x18]
adc ebx, edi
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x1c]
setb byte [esp + 0x64]
add ebx, edx
mov edx, ebp
adc eax, dword [esp + 0x84]
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x1c], ebx
setb byte [esp + 0x54]
adc ecx, dword [esp + 0x38]
setb byte [esp + 0x88]
add byte [esp + 0xf4], 0xff
adc dword [esp + 0x48], eax
movzx eax, byte [esp + 0x90]
adc dword [esp + 8], 0
setb byte [esp + 0x30]
add byte [esp + 0x44], 0xff
adc esi, dword [esp + 0x108]
adc edi, 0
setb cl
add byte [esp + 0x68], 0xff
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x100]
adc edx, 0
setb ch
add byte [esp + 0xd0], 0xff
movzx ebp, ch
movzx ecx, cl
adc edx, dword [esp + 0x60]
adc ebp, 0
add edi, dword [esp + 0xfc]
mov edi, dword [esp + 0x84]
adc eax, edx
adc ebp, 0
add byte [esp + 0x2c], 0xff
adc eax, 0
adc ebp, dword [esp + 0x18]
adc ecx, 0
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x6c]
add ecx, dword [esp + 0xc]
movzx ecx, byte [esp + 0x104]
adc ecx, dword [esp + 0xac]
setb dl
add ecx, eax
movzx eax, dl
mov edx, 0xffffffff
adc eax, ebp
setb byte [esp + 0x28]
add byte [esp + 0x20], 0xff
adc ecx, esi
mov esi, dword [esp + 0x4c]
adc eax, 0
mov dword [esp + 0xc], eax
setb byte [esp + 0x68]
add byte [esp + 0x24], 0xff
mov eax, dword [esp + 0x14]
adc eax, dword [esp + 0x3c]
mov eax, ebx
adc esi, 0
setb byte [esp + 0x3c]
mul edx
mov ebp, eax
mov dword [esp + 0x18], edx
add ebp, edx
mov ebp, eax
adc ebp, edx
mov edx, eax
mov ebp, eax
setb byte [esp + 0x10c]
add edx, ebx
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], ebp
mov eax, ebx
adc eax, edi
mov dword [esp + 0x6c], eax
mov eax, esi
mov esi, dword [esp + 4]
add eax, ecx
movzx ecx, byte [esp + 0x3c]
adc ecx, dword [esp + 0x94]
setb byte [esp + 0x60]
add byte [esp + 0xb0], 0xff
mov dword [esp + 0x2c], ecx
adc eax, dword [esp + 0x78]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xc]
lea eax, [ecx + eax]
mov ecx, ebp
adc eax, dword [esp + 0x7c]
setb byte [esp + 0x5c]
add ecx, edx
mov dword [esp + 0x44], eax
mov eax, ecx
adc eax, 0
add byte [esp + 0x54], 0xff
mov dword [esp + 0x7c], eax
mov eax, ebx
mov ebx, ebp
adc esi, dword [esp + 0x38]
add eax, edi
add ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x70]
adc eax, ecx
mov ecx, esi
mov eax, ebp
mov dword [esp + 4], esi
mov esi, dword [esp + 0x9c]
setb byte [esp + 0x94]
adc ecx, 0
add eax, edx
mov edx, dword [esp + 0x48]
adc ecx, eax
mov dword [esp + 0x3c], eax
mov eax, edi
mov dword [esp + 0x38], ecx
mov cl, byte [esp + 0x88]
mov ebp, edx
add cl, 0xff
mov cl, byte [esp + 0x30]
adc ebp, esi
add cl, 0xff
mov ecx, dword [esp + 0xa0]
adc eax, ecx
add byte [esp + 0x28], 0xff
adc dword [esp + 0x34], 0
add byte [esp + 0x30], 0xff
adc edi, ecx
mov ecx, dword [esp + 8]
adc ebx, 0
setb byte [esp + 0xa0]
add byte [esp + 0x88], 0xff
adc edx, esi
mov edx, dword [esp + 0x18]
adc ecx, dword [esp + 0x10]
mov edi, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x44]
adc eax, dword [esp + 0x58]
lea esi, [ebx + ecx]
mov cl, byte [esp + 0x10c]
adc esi, dword [esp + 0x80]
mov ch, cl
setb byte [esp + 0x84]
add ch, 0xff
adc edi, 0
setb ch
add cl, 0xff
adc ebp, edx
movzx ecx, ch
mov edx, dword [esp + 4]
adc ecx, 0
add byte [esp + 0x94], 0xff
adc edx, dword [esp + 0x7c]
mov edx, dword [esp + 0x1c]
adc ebp, 0
adc ecx, dword [esp + 8]
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 0x2c]
adc eax, 0
mov dword [esp + 0x88], ecx
mov ecx, esi
mov dword [esp + 0x48], eax
setb al
adc ecx, edx
add al, 0xff
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x10], ecx
adc esi, edx
movzx esi, byte [esp + 0xa0]
adc dword [esp + 0x14], 0
setb byte [esp + 8]
mul eax
add byte [esp + 0x64], 0xff
mov ecx, eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], edx
movd xmm1, dword [esp + 4]
adc ecx, eax
setb dl
add ebx, dword [esp + 0x44]
pshufd xmm1, xmm1, 0x50
movzx edx, dl
movd xmm3, edx
pshufd xmm3, xmm3, 0x50
adc esi, dword [esp + 0x50]
setb bl
add byte [esp + 0x98], 0xff
adc eax, 0
setb bh
add byte [esp + 0x68], 0xff
movzx edi, bh
adc eax, dword [esp + 0x34]
adc edi, 0
add ebp, dword [esp + 0xc]
movzx ebp, byte [esp + 0x60]
adc ebp, eax
adc edi, 0
add byte [esp + 0x5c], 0xff
adc ebp, 0
adc edi, 0
add ebp, esi
movzx esi, bl
adc esi, 0
movd xmm2, edi
add byte [esp + 0x84], 0xff
movzx edi, byte [esp + 8]
movd xmm0, esi
mov esi, dword [esp + 0x3c]
pshufd xmm0, xmm0, 0x50
punpcklqdq xmm1, xmm0
pshufd xmm0, xmm2, 0x50
punpcklqdq xmm0, xmm3
psrlq xmm1, 0x20
adc ebp, ecx
psrlq xmm0, 0x20
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0x4e
paddq xmm1, xmm0
movd eax, xmm1
pshufd xmm0, xmm1, 0xe5
adc eax, 0
movd ecx, xmm0
adc ecx, 0
add esi, dword [esp + 0x6c]
add ebp, dword [esp + 0x14]
adc edi, dword [esp + 0x18]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c], ebp
setb dl
add edi, eax
mov al, 0xff
movzx ebx, dl
mov dword [esp + 0x18], edi
adc ebx, ecx
mov ecx, dword [esp + 0x38]
setb byte [esp + 0x34]
add esi, 1
adc al, 0
xor edx, edx
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x4c]
neg al
mov ebp, dword [esp + 0x8c]
movzx eax, al
sub ecx, eax
mov eax, 0
sbb eax, eax
add ecx, 1
adc al, 0xff
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x88]
neg al
movzx eax, al
sub esi, eax
mov eax, 0
sbb eax, eax
add esi, 1
adc al, 0xff
neg al
movzx eax, al
sub ecx, eax
mov eax, 0
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x48]
sbb eax, eax
neg al
movzx eax, al
sub ecx, eax
mov eax, 0
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x10]
sbb eax, eax
neg al
movzx eax, al
sub ecx, eax
mov eax, 0
sbb eax, eax
mov dword [esp + 4], ecx
neg al
movzx edi, al
mov eax, 0
not edi
add edi, dword [esp + 0x1c]
adc al, 0xff
neg al
movzx ecx, al
mov eax, dword [esp + 0x18]
sub eax, ecx
mov ecx, dword [esp + 0x14]
sbb edx, edx
add eax, 1
adc dl, 0xff
neg dl
movzx edx, dl
cmp ebx, edx
movzx edx, byte [esp + 0x34]
mov ebx, dword [esp + 0x84]
sbb edx, 0
test dl, dl
mov edx, dword [esp + 8]
cmovne ebp, dword [esp + 0x3c]
cmovne ebx, dword [esp + 0x38]
cmovne esi, dword [esp + 0x4c]
cmovne ecx, dword [esp + 0x88]
cmovne edi, dword [esp + 0x1c]
cmovne eax, dword [esp + 0x18]
cmovne edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov edx, dword [esp + 4]
cmovne edx, dword [esp + 0x10]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x12c]
mov dword [edx], ebp
mov dword [edx + 4], ebx
mov dword [edx + 8], esi
mov ebx, dword [esp + 8]
mov esi, dword [esp + 4]
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ebx
mov dword [edx + 0x14], esi
mov dword [edx + 0x18], edi
mov dword [edx + 0x1c], eax
add esp, 0x130
pop esi
pop edi
pop ebx
pop ebp
ret