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

Disassembly:
sub esp, 0x10c
push ebx
push esi
push edi
push ebp
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
mov esi, 0xfffffffc
mov eax, dword [eax]
mov ecx, dword [ecx]
mov ebp, eax
mov edx, dword [edx]
shl ebp, 2
mov dword [esp + 0x1c], ecx
mov edi, ebp
mov ecx, edx
add edi, 0xc
mov dword [esp + 0x20], ebp
add ecx, 3
mov dword [esp + 0x24], edi
imul ecx, dword [esp + 0x24]
mov ebp, eax
mov dword [esp + 0x18], edx
add ebp, 3
sub esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x14c]
imul esi, ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov ecx, edx
shl esi, 2
sub esi, 4
add ebp, 3
imul ebp, dword [esp + 0x28]
add ecx, 3
add edi, 2
mov dword [esp + 0x2c], esi
mov esi, 4
imul edi, ecx
mov ecx, eax
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x24]
dec edi
add ecx, 3
imul edi, ecx
mov ecx, dword [esp + 0x20]
shl edi, 2
sub edi, 4
imul ecx, dword [esp + 0x18]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x38], ecx
imul ecx, dword [esp + 0x1c]
inc edi
imul edi, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x144]
inc edi
imul edi, dword [esp + 0x14]
lea esi, [esi + edi*4]
mov edi, eax
dec edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov edi, edx
mov esi, dword [esp + 0x1c]
dec edi
dec esi
xor eax, eax
test esi, esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
setle al
mov edi, dword [esp + 0x38]
mov dword [esp + 0x54], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne 0x4c92b7
sub ecx, dword [esp + 0x2c]
add ebp, dword [esp + 0x28]
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
add ecx, ebp
sub ebx, dword [esp + 0x2c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ebx
lea ebx, [ebx + ebp + 4]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x60]
add ebx, ebp
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x14]
shl ebx, 2
add ebx, dword [esp + 0x10]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x68]
add ebx, ebp
mov ebp, dword [esp + 0x14]
lea ebp, [ebx + ebp*4]
mov ebx, dword [esp + 0x148]
sub ebx, dword [esp + 0x34]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0x74]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x28]
add ebx, dword [esp + 0x74]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x12c]
sub ebx, dword [esp + 0x40]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x38]
add ebx, dword [esp + 0x80]
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x38]
add ebx, dword [esp + 0x80]
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x44]
dec ebx
mov dword [esp + 0x8c], ebx
xor ebx, ebx
cmp dword [esp + 0x8c], 4
setle bl
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x94], ebx
test ebx, ebx
mov ebx, dword [esp + 0x64]
jle 0x4c9222
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x138]
add esi, dword [esp + 0x24]
sub ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xa0], edi
mov eax, dword [esp + 0x14]
lea ebx, [ebx + esi + 8]
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xa4], eax
lea ebx, [ebx + esi + 4]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x68]
lea ebx, [ebx + esi + 8]
add esi, dword [esp + 0x74]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x78]
add ebx, dword [esp + 0x24]
mov dword [esp + 0xb4], esi
mov esi, dword [esp + 0x84]
add ebx, dword [esp + 0x30]
mov dword [esp + 0xb8], ebx
add ebx, dword [esp + 0x30]
mov dword [esp + 0xbc], ebx
add ebx, dword [esp + 0x30]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x7c]
add ebx, dword [esp + 0x24]
add ebx, dword [esp + 0x30]
mov dword [esp + 0xc4], ebx
add ebx, dword [esp + 0x30]
mov dword [esp + 0xc8], ebx
add ebx, dword [esp + 0x30]
mov dword [esp + 0xcc], ebx
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x80]
add esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0xd0], ebx
lea edi, [esi + 4]
add esi, dword [esp + 0x3c]
mov dword [esp + 0xd4], edi
lea edi, [esi + 4]
add esi, dword [esp + 0x3c]
mov dword [esp + 0xd8], edi
add esi, 4
mov dword [esp + 0xdc], esi
mov esi, dword [esp + 0x88]
add esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0xe0], esi
add esi, dword [esp + 0x3c]
mov dword [esp + 0xe4], esi
add esi, dword [esp + 0x3c]
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xec], esi
test esi, esi
mov edx, dword [esp + 0x30]
jle 0x4c8f87
add ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov ebp, dword [esp + 0xb0]
add edx, ebx
lea ecx, [ebx + 4]
lea edi, [edx + 4]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edi
mov edi, dword [esp + 0x30]
add edi, edx
add ebx, 8
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0xd0]
lea ecx, [edi + 4]
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x3c]
add ecx, dword [esp + 0xd0]
add ecx, 8
add edx, 8
add ebx, dword [esp + 0x3c]
mov dword [esp + 0x100], edx
add ebx, dword [esp + 0x3c]
add edi, 8
lea edx, [ebx + 8]
add ebx, dword [esp + 0x3c]
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0x90]
add ebx, 8
test edx, edx
jne 0x4c8e37
fld dword [esi - 4]
mov edx, dword [esp + 0xf0]
lea ebp, [ebp + 0x14]
fadd dword [esi]
lea esi, [esi + 0x14]
lea eax, [eax + 0x14]
lea ecx, [ecx + 0x14]
lea ebx, [ebx + 0x14]
lea edi, [edi + 0x14]
fdivr dword [esi - 0x18]
fstp st(1)
fld dword [eax - 0x14]
fstp st(2)
fld dword [eax - 0x10]
fst st(3)
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [edx]
mov edx, dword [esp + 0xfc]
fstp st(4)
fld dword [edx]
mov edx, dword [ecx - 0x14]
fsub st(4)
mov dword [0x590780], edx
mov edx, dword [esp + 0xf4]
fmul st(1)
faddp st(4)
fld dword [edx]
mov edx, dword [esp + 0x100]
fstp st(5)
fld dword [edx]
mov edx, dword [esp + 0x104]
fsub st(5)
mov edx, dword [edx]
mov dword [0x590784], edx
mov edx, dword [esp + 0xf8]
fmul st(1)
faddp st(5)
fld dword [edx]
mov edx, dword [ebx - 0x14]
fstp st(6)
fld dword [edi - 0x14]
mov dword [0x590788], edx
mov edx, dword [esp + 0xf0]
fsub st(6)
fmul st(1)
fadd st(6)
fstp st(1)
fld dword [0x590784]
fmulp st(5)
fld dword [0x590780]
fmul st(4)
fadd st(5)
fstp st(4)
fld dword [0x590788]
fmul st(1)
fadd st(4)
fmul st(2)
fstp dword [ebp - 0x14]
fld dword [esi - 0x14]
fadd dword [esi - 0x10]
fdivr dword [esi - 0x14]
fstp st(1)
fld dword [eax - 0xc]
fst st(2)
fsub st(3)
fmul st(1)
faddp st(3)
fld dword [edx + 4]
mov edx, dword [esp + 0xfc]
fstp st(4)
fld dword [edx + 4]
mov edx, dword [ecx - 0x10]
fsub st(4)
mov dword [0x590780], edx
mov edx, dword [esp + 0xf4]
fmul st(1)
faddp st(4)
fld dword [edx + 4]
mov edx, dword [esp + 0x100]
fstp st(5)
fld dword [edx + 4]
mov edx, dword [esp + 0x104]
fsub st(5)
mov edx, dword [edx + 4]
mov dword [0x590784], edx
mov edx, dword [esp + 0xf8]
fmul st(1)
faddp st(5)
fld dword [edx + 4]
mov edx, dword [ebx - 0x10]
fstp st(6)
fld dword [edi - 0x10]
mov dword [0x590788], edx
mov edx, dword [esp + 0xf0]
fsub st(6)
fmul st(1)
fadd st(6)
fstp st(1)
fld dword [0x590784]
fmulp st(5)
fld dword [0x590780]
fmul st(4)
fadd st(5)
fstp st(4)
fld dword [0x590788]
fmul st(1)
fadd st(4)
fmul st(3)
fstp dword [ebp - 0x10]
fld dword [esi - 0x10]
fadd dword [esi - 0xc]
fdivr dword [esi - 0x10]
fstp st(1)
fld dword [eax - 8]
fst st(3)
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [edx + 8]
mov edx, dword [esp + 0xfc]
fstp st(4)
fld dword [edx + 8]
mov edx, dword [ecx - 0xc]
fsub st(4)
mov dword [0x590780], edx
mov edx, dword [esp + 0xf4]
fmul st(1)
faddp st(4)
fld dword [edx + 8]
mov edx, dword [esp + 0x100]
fstp st(5)
fld dword [edx + 8]
mov edx, dword [esp + 0x104]
fsub st(5)
mov edx, dword [edx + 8]
mov dword [0x590784], edx
mov edx, dword [esp + 0xf8]
fmul st(1)
faddp st(5)
fld dword [edx + 8]
mov edx, dword [ebx - 0xc]
fstp st(6)
fld dword [edi - 0xc]
mov dword [0x590788], edx
mov edx, dword [esp + 0xf0]
fsub st(6)
fmul st(1)
fadd st(6)
fstp st(1)
fld dword [0x590784]
fmulp st(5)
fld dword [0x590780]
fmul st(4)
fadd st(5)
fstp st(4)
fld dword [0x590788]
fmul st(1)
fadd st(4)
fmul st(2)
fstp dword [ebp - 0xc]
fld dword [esi - 0xc]
fadd dword [esi - 8]
fdivr dword [esi - 0xc]
fstp st(1)
fld dword [eax - 4]
fst st(2)
fsub st(3)
fmul st(1)
faddp st(3)
fld dword [edx + 0xc]
mov edx, dword [esp + 0xfc]
fstp st(4)
fld dword [edx + 0xc]
mov edx, dword [ecx - 8]
fsub st(4)
mov dword [0x590780], edx
mov edx, dword [esp + 0xf4]
fmul st(1)
faddp st(4)
fld dword [edx + 0xc]
mov edx, dword [esp + 0x100]
fstp st(5)
fld dword [edx + 0xc]
mov edx, dword [esp + 0x104]
fsub st(5)
mov edx, dword [edx + 0xc]
mov dword [0x590784], edx
mov edx, dword [esp + 0xf8]
fmul st(1)
faddp st(5)
fld dword [edx + 0xc]
mov edx, dword [ebx - 8]
fstp st(6)
fld dword [edi - 8]
mov dword [0x590788], edx
mov edx, dword [esp + 0xf0]
fsub st(6)
fmul st(1)
fadd st(6)
fstp st(1)
fld dword [0x590784]
fmulp st(5)
fld dword [0x590780]
fmul st(4)
fadd st(5)
fstp st(4)
fld dword [0x590788]
fmul st(1)
fadd st(4)
fmul st(3)
fstp dword [ebp - 8]
fld dword [esi - 8]
fadd dword [esi - 4]
fdivr dword [esi - 8]
fstp st(1)
fld dword [eax]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [edx + 0x10]
mov edx, dword [esp + 0xfc]
fstp st(3)
fld dword [edx + 0x10]
mov edx, dword [ecx - 4]
fsub st(3)
mov dword [0x590780], edx
mov edx, dword [esp + 0xf4]
fmul st(1)
fadd st(3)
fstp dword [0x590774]
fld dword [edx + 0x10]
mov edx, dword [esp + 0x100]
fstp st(3)
fld dword [edx + 0x10]
mov edx, dword [esp + 0x104]
fsub st(3)
mov edx, dword [edx + 0x10]
mov dword [0x590784], edx
mov edx, dword [esp + 0xf8]
fmul st(1)
fadd st(3)
fstp dword [0x590778]
fld dword [edx + 0x10]
mov edx, dword [ebx - 4]
fstp st(3)
fld dword [edi - 4]
mov dword [0x590788], edx
mov edx, dword [esp + 0xfc]
fsub st(3)
lea edx, [edx + 0x14]
mov dword [esp + 0xfc], edx
mov edx, dword [esp + 0x100]
fmul st(1)
lea edx, [edx + 0x14]
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0x104]
fadd st(3)
lea edx, [edx + 0x14]
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0xf0]
fstp dword [0x59077c]
lea edx, [edx + 0x14]
fld dword [0x590784]
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0xf4]
fmul dword [0x590778]
lea edx, [edx + 0x14]
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xf8]
fstp st(1)
fld dword [0x590780]
lea edx, [edx + 0x14]
fmul dword [0x590774]
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0xec]
sub edx, 5
mov dword [esp + 0xec], edx
cmp edx, 4
faddp st(1)
fld dword [0x590788]
fmul dword [0x59077c]
fadd st(1)
fmul st(2)
fstp dword [ebp - 4]
jg 0x4c8a34
test edx, edx
jle 0x4c8f87
fld dword [esi - 4]
mov edx, dword [esp + 0xf0]
lea ebp, [ebp + 4]
fadd dword [esi]
lea esi, [esi + 4]
lea eax, [eax + 4]
lea ecx, [ecx + 4]
lea ebx, [ebx + 4]
lea edi, [edi + 4]
fdivr dword [esi - 8]
fstp st(1)
fld dword [eax - 4]
fstp st(2)
fld dword [eax]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [edx]
mov edx, dword [esp + 0xfc]
fstp st(3)
fld dword [edx]
mov edx, dword [ecx - 4]
fsub st(3)
mov dword [0x590780], edx
mov edx, dword [esp + 0xf4]
fmul st(1)
fadd st(3)
fstp dword [0x590774]
fld dword [edx]
mov edx, dword [esp + 0x100]
fstp st(3)
fld dword [edx]
mov edx, dword [esp + 0x104]
fsub st(3)
mov edx, dword [edx]
mov dword [0x590784], edx
mov edx, dword [esp + 0xf8]
fmul st(1)
fadd st(3)
fstp dword [0x590778]
fld dword [edx]
mov edx, dword [ebx - 4]
fstp st(3)
fld dword [edi - 4]
mov dword [0x590788], edx
mov edx, dword [esp + 0xfc]
fsub st(3)
lea edx, [edx + 4]
mov dword [esp + 0xfc], edx
mov edx, dword [esp + 0x100]
fmul st(1)
lea edx, [edx + 4]
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0x104]
fadd st(3)
lea edx, [edx + 4]
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0xf0]
fstp dword [0x59077c]
lea edx, [edx + 4]
fld dword [0x590784]
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0xf4]
fmul dword [0x590778]
lea edx, [edx + 4]
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xf8]
fstp st(1)
fld dword [0x590780]
lea edx, [edx + 4]
fmul dword [0x590774]
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0xec]
dec edx
mov dword [esp + 0xec], edx
test edx, edx
faddp st(1)
fld dword [0x590788]
fmul dword [0x59077c]
fadd st(1)
fmul st(2)
fstp dword [ebp - 4]
jg 0x4c8e37
mov ebx, dword [esp + 0xbc]
mov edi, dword [esp + 0xd8]
mov edx, dword [esp + 0xb8]
mov ebx, dword [ebx]
mov eax, dword [esp + 0xd4]
mov dword [0x590778], ebx
mov edx, dword [edx]
fld dword [0x590778]
mov dword [0x590774], edx
mov esi, dword [esp + 0xc0]
fmul dword [edi]
mov esi, dword [esi]
mov ecx, dword [esp + 0xdc]
mov dword [0x59077c], esi
mov ebp, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov esi, dword [esp + 0xe0]
fstp st(1)
fld dword [0x590774]
mov esi, dword [esi]
mov edi, dword [esp + 0xc4]
fmul dword [eax]
mov eax, dword [esp + 0xe4]
mov dword [0x590780], esi
mov edi, dword [edi]
mov ebx, dword [esp + 0xcc]
mov eax, dword [eax]
mov dword [0x590774], edi
faddp st(1)
mov dword [0x590784], eax
mov ebx, dword [ebx]
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0xb4]
mov edi, dword [esp + 0x24]
fld dword [0x59077c]
mov dword [0x59077c], ebx
mov ebx, dword [esp + 0x24]
fmul dword [ecx]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx]
fadd st(1)
mov dword [0x590778], ecx
mov ecx, dword [esp + 0x24]
add ecx, dword [esp + 0xb8]
fmul dword [ebp]
mov ebp, dword [esp + 0xe8]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x24]
mov ebp, dword [ebp]
fstp dword [edx]
mov dword [0x590788], ebp
mov edx, dword [esp + 0xa0]
fld dword [0x590784]
mov ebp, dword [esp + 0x24]
fmul dword [0x590778]
add ebp, dword [esp + 0xbc]
add ebx, dword [esp + 0xc0]
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc0], ebx
fstp st(1)
fld dword [0x590780]
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
fmul dword [0x590774]
faddp st(1)
fld dword [0x590788]
fmul dword [0x59077c]
fadd st(1)
fmul dword [edx]
mov edx, dword [esp + 0x24]
add edx, dword [esp + 0xc4]
fstp dword [esi]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xc4], edx
add esi, dword [esp + 0xc8]
add edi, dword [esp + 0xcc]
add eax, dword [esp + 0x98]
add ecx, dword [esp + 0x9c]
mov dword [esp + 0xc8], esi
add ebp, dword [esp + 0xa0]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xcc], edi
add ebx, dword [esp + 0xa4]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x98], eax
add edx, dword [esp + 0xd0]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x9c], ecx
add esi, dword [esp + 0xd4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xa0], ebp
add edi, dword [esp + 0xd8]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xa4], ebx
add eax, dword [esp + 0xdc]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0xd0], edx
add ecx, dword [esp + 0xe0]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xd4], esi
add ebp, dword [esp + 0xe4]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xd8], edi
add ebx, dword [esp + 0xe8]
mov esi, dword [esp + 0x24]
add edx, dword [esp + 0xa8]
mov edi, dword [esp + 0x24]
mov dword [esp + 0xdc], eax
add esi, dword [esp + 0xac]
add edi, dword [esp + 0xb0]
mov eax, dword [esp + 0x94]
mov dword [esp + 0xe0], ecx
dec eax
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], edi
mov dword [esp + 0x94], eax
test eax, eax
jg 0x4c8980
mov ebp, dword [esp + 0x38]
add ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x38]
add edx, dword [esp + 0x84]
mov edi, dword [esp + 0x28]
add esi, dword [esp + 0x88]
mov dword [esp + 0x58], ebp
add edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x84], edx
add ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x88], esi
add ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x5c], edi
add ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x28]
add edx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
add esi, dword [esp + 0x78]
add edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x50]
dec eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x50], eax
test eax, eax
jg 0x4c8831
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x54], 0
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x18]
jne 0x4ca2b7
add ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x13c]
imul edx, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x144]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x150]
add edx, dword [esp + 0x28]
sub ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x28]
sub esi, dword [esp + 0x2c]
add esi, dword [esp + 0x28]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
add esi, 4
sub edi, dword [esp + 0x2c]
mov dword [esp + 0x58], esi
add ecx, edi
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x148]
sub ecx, dword [esp + 0x34]
lea ebx, [edi + ebx + 4]
lea edi, [edi + edx + 4]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x28]
add ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x60]
add ecx, edx
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x144]
sub ecx, dword [esp + 0x2c]
lea ecx, [ecx + edx + 4]
mov edx, dword [esp + 0x130]
sub edx, dword [esp + 0x40]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x20]
add edx, dword [esp + 0x38]
add edx, dword [esp + 0x78]
add ebx, ebx
add ebx, dword [esp + 0x78]
dec edi
xor ecx, ecx
cmp edi, 4
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], edi
setle cl
mov dword [esp + 0x88], ecx
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x8c], edi
test edi, edi
mov esi, dword [esp + 0x58]
jle 0x4ca210
add eax, eax
mov dword [esp + 0x90], esi
add eax, dword [esp + 0x54]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
add eax, 4
add esi, dword [esp + 0x54]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x24]
add esi, 4
add ebx, dword [esp + 0x58]
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x24]
add ebx, ebx
mov dword [esp + 0xa0], eax
add ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x24]
add ebx, ebx
add ebx, dword [esp + 0x5c]
add ebx, 4
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x50]
add ebx, dword [esp + 0x60]
add ebx, 4
add esi, dword [esp + 0x78]
mov dword [esp + 0xb4], ebx
add esi, 4
mov dword [esp + 0xb8], esi
mov esi, dword [esp + 0x3c]
add esi, dword [esp + 0x7c]
add esi, 4
mov dword [esp + 0xbc], esi
mov esi, dword [esp + 0x30]
add esi, dword [esp + 0x64]
add esi, 4
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x7c]
add esi, dword [esp + 0x3c]
add esi, dword [esp + 0x3c]
lea edi, [esi + 4]
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x64]
add edi, dword [esp + 0x30]
add edi, dword [esp + 0x30]
add esi, dword [esp + 0x3c]
add esi, 4
lea eax, [edi + 4]
add edi, dword [esp + 0x30]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x3c]
add edi, 4
add eax, dword [esp + 0x80]
mov dword [esp + 0xcc], esi
mov esi, dword [esp + 0x30]
add eax, 4
add esi, dword [esp + 0x68]
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], eax
add esi, 4
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0x80]
add esi, dword [esp + 0x3c]
add esi, dword [esp + 0x3c]
lea edi, [esi + 4]
mov dword [esp + 0xdc], edi
mov edi, dword [esp + 0x68]
add edi, dword [esp + 0x30]
add edi, dword [esp + 0x30]
add esi, dword [esp + 0x3c]
add esi, 4
lea eax, [edi + 4]
add edi, dword [esp + 0x30]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], esi
add edi, 4
mov dword [esp + 0xe8], edi
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0x84]
mov dword [esp + 0xec], eax
test esi, esi
mov eax, dword [esp + 0xb4]
jle 0x4c9f68
add eax, dword [esp + 0x24]
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0x24]
add eax, dword [esp + 0x30]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0xf0], esi
mov edi, dword [esp + 0xa4]
mov ecx, eax
add eax, dword [esp + 0x30]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xac]
mov dword [esp + 0xf8], eax
add eax, dword [esp + 0x30]
add ebx, ebx
add ebx, dword [esp + 0xb4]
add ebx, dword [esp + 0x30]
mov dword [esp + 0xfc], ebx
add ebx, dword [esp + 0x30]
mov dword [esp + 0x100], ebx
add ebx, dword [esp + 0x30]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x20]
add ebx, ebx
add ebx, dword [esp + 0xb8]
add ebx, dword [esp + 0x3c]
mov dword [esp + 0x108], ebx
add ebx, dword [esp + 0x3c]
mov dword [esp + 0x10c], ebx
add ebx, dword [esp + 0x3c]
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x114], ebx
test ebx, ebx
jne 0x4c9dc1
fld dword [edi]
mov esi, dword [esp + 0xf0]
mov ebx, dword [esp + 0xfc]
fadd dword [esi]
mov esi, dword [esp + 0x24]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x108]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590780], ebx
mov ebx, dword [esp + 0xf8]
fmul st(1)
faddp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x100]
fstp st(4)
fld dword [ebx]
mov ebx, dword [esp + 0x10c]
fsub st(4)
mov ebx, dword [ebx]
mov dword [0x590784], ebx
mov ebx, dword [esp + 0x104]
fmul st(1)
faddp st(4)
fld dword [eax]
fstp st(5)
fld dword [ebx]
mov ebx, dword [esp + 0x110]
fsub st(5)
mov ebx, dword [ebx]
mov dword [0x590788], ebx
mov ebx, dword [esp + 0xf4]
fmul st(1)
fadd st(5)
fstp st(1)
fld dword [0x590784]
fmulp st(4)
fld dword [0x590780]
fmul st(3)
fadd st(4)
fstp st(3)
fld dword [0x590788]
fmul st(1)
fadd st(3)
fmul st(2)
fstp dword [ebx]
mov ebx, dword [esp + 0x24]
add ebx, dword [esp + 0xfc]
add esi, dword [esp + 0x100]
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x100], esi
add ebx, dword [esp + 0x104]
mov esi, dword [esp + 0x24]
add esi, dword [esp + 0xf0]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xf0], esi
add edi, ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
fld dword [edi]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
add esi, dword [esp + 0x108]
add ebx, dword [esp + 0x10c]
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
add esi, dword [esp + 0x110]
add ebx, dword [esp + 0xf4]
mov dword [esp + 0x110], esi
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
add ecx, esi
add ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0xf0]
add eax, esi
mov esi, dword [esp + 0x108]
fadd dword [ebx]
mov ebx, dword [esp + 0xfc]
mov esi, dword [esi]
mov dword [0x590780], esi
mov esi, dword [esp + 0x100]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xf8]
fsub st(3)
fmul st(1)
faddp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x10c]
fstp st(4)
fld dword [esi]
mov ebx, dword [ebx]
mov esi, dword [esp + 0x110]
fsub st(4)
mov dword [0x590784], ebx
mov ebx, dword [esp + 0x104]
mov esi, dword [esi]
mov dword [0x590788], esi
mov esi, dword [esp + 0x24]
fmul st(1)
faddp st(4)
fld dword [eax]
fstp st(5)
fld dword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld dword [0x590784]
fmulp st(4)
fld dword [0x590780]
fmul st(3)
fadd st(4)
fstp st(3)
fld dword [0x590788]
fmul st(1)
fadd st(3)
fmul st(2)
fstp dword [ebx]
mov ebx, dword [esp + 0x24]
add ebx, dword [esp + 0xfc]
add esi, dword [esp + 0x100]
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x100], esi
add ebx, dword [esp + 0x104]
mov esi, dword [esp + 0x24]
add esi, dword [esp + 0xf0]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xf0], esi
add edi, ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
fld dword [edi]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
add esi, dword [esp + 0x108]
add ebx, dword [esp + 0x10c]
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
add esi, dword [esp + 0x110]
add ebx, dword [esp + 0xf4]
mov dword [esp + 0x110], esi
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
add ecx, esi
add ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0xf0]
add eax, esi
mov esi, dword [esp + 0x108]
fadd dword [ebx]
mov ebx, dword [esp + 0xfc]
mov esi, dword [esi]
mov dword [0x590780], esi
mov esi, dword [esp + 0x100]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xf8]
fsub st(3)
fmul st(1)
faddp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x10c]
fstp st(4)
fld dword [esi]
mov ebx, dword [ebx]
mov esi, dword [esp + 0x110]
fsub st(4)
mov dword [0x590784], ebx
mov ebx, dword [esp + 0x104]
mov esi, dword [esi]
mov dword [0x590788], esi
mov esi, dword [esp + 0x24]
fmul st(1)
faddp st(4)
fld dword [eax]
fstp st(5)
fld dword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld dword [0x590784]
fmulp st(4)
fld dword [0x590780]
fmul st(3)
fadd st(4)
fstp st(3)
fld dword [0x590788]
fmul st(1)
fadd st(3)
fmul st(2)
fstp dword [ebx]
mov ebx, dword [esp + 0x24]
add ebx, dword [esp + 0xfc]
add esi, dword [esp + 0x100]
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x100], esi
add ebx, dword [esp + 0x104]
mov esi, dword [esp + 0x24]
add esi, dword [esp + 0xf0]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xf0], esi
add edi, ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
fld dword [edi]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
add esi, dword [esp + 0x108]
add ebx, dword [esp + 0x10c]
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
add esi, dword [esp + 0x110]
add ebx, dword [esp + 0xf4]
mov dword [esp + 0x110], esi
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
add ecx, esi
add ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0xf0]
add eax, esi
mov esi, dword [esp + 0x108]
fadd dword [ebx]
mov ebx, dword [esp + 0xfc]
mov esi, dword [esi]
mov dword [0x590780], esi
mov esi, dword [esp + 0x100]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xf8]
fsub st(3)
fmul st(1)
faddp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x10c]
fstp st(4)
fld dword [esi]
mov ebx, dword [ebx]
mov esi, dword [esp + 0x110]
fsub st(4)
mov dword [0x590784], ebx
mov ebx, dword [esp + 0x104]
mov esi, dword [esi]
mov dword [0x590788], esi
mov esi, dword [esp + 0x24]
fmul st(1)
faddp st(4)
fld dword [eax]
fstp st(5)
fld dword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld dword [0x590784]
fmulp st(4)
fld dword [0x590780]
fmul st(3)
fadd st(4)
fstp st(3)
fld dword [0x590788]
fmul st(1)
fadd st(3)
fmul st(2)
fstp dword [ebx]
mov ebx, dword [esp + 0x24]
add ebx, dword [esp + 0xfc]
add esi, dword [esp + 0x100]
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x100], esi
add ebx, dword [esp + 0x104]
mov esi, dword [esp + 0x24]
add esi, dword [esp + 0xf0]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xf0], esi
add edi, ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
fld dword [edi]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
add esi, dword [esp + 0x108]
add ebx, dword [esp + 0x10c]
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
add esi, dword [esp + 0x110]
add ebx, dword [esp + 0xf4]
mov dword [esp + 0x110], esi
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
add ecx, esi
add ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0xf0]
add eax, esi
mov esi, dword [esp + 0xf8]
fadd dword [ebx]
mov ebx, dword [esp + 0xfc]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x108]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590780], ebx
mov ebx, dword [esp + 0x100]
fmul st(1)
fadd st(3)
fstp dword [0x590774]
fld dword [esi]
mov esi, dword [esp + 0xf4]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x10c]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590784], ebx
mov ebx, dword [esp + 0x104]
fmul st(1)
fadd st(3)
fstp dword [0x590778]
fld dword [eax]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x110]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590788], ebx
mov ebx, dword [esp + 0x24]
add ebx, dword [esp + 0xfc]
fmul st(1)
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x24]
fadd st(3)
fstp dword [0x59077c]
fld dword [0x590784]
fmul dword [0x590778]
fstp st(1)
fld dword [0x590780]
fmul dword [0x590774]
faddp st(1)
fld dword [0x590788]
fmul dword [0x59077c]
fadd st(1)
fmul st(2)
fstp dword [esi]
mov esi, dword [esp + 0x24]
add esi, dword [esp + 0x100]
add ebx, dword [esp + 0x104]
mov dword [esp + 0x100], esi
mov esi, dword [esp + 0x24]
add esi, dword [esp + 0xf0]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xf0], esi
add edi, ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
add esi, dword [esp + 0x108]
add ebx, dword [esp + 0x10c]
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
add esi, dword [esp + 0x110]
add ebx, dword [esp + 0xf4]
mov dword [esp + 0x110], esi
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
add ecx, esi
add ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0xec]
add eax, esi
sub ebx, 5
mov dword [esp + 0xec], ebx
cmp ebx, 4
jg 0x4c963f
test ebx, ebx
jle 0x4c9f68
fld dword [edi]
mov ebx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf8]
fadd dword [ebx]
mov ebx, dword [esp + 0xfc]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x108]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590780], ebx
mov ebx, dword [esp + 0x100]
fmul st(1)
fadd st(3)
fstp dword [0x590774]
fld dword [esi]
mov esi, dword [esp + 0xf4]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x10c]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590784], ebx
mov ebx, dword [esp + 0x104]
fmul st(1)
fadd st(3)
fstp dword [0x590778]
fld dword [eax]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x110]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590788], ebx
mov ebx, dword [esp + 0x24]
add ebx, dword [esp + 0xfc]
fmul st(1)
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x24]
fadd st(3)
fstp dword [0x59077c]
fld dword [0x590784]
fmul dword [0x590778]
fstp st(1)
fld dword [0x590780]
fmul dword [0x590774]
faddp st(1)
fld dword [0x590788]
fmul dword [0x59077c]
fadd st(1)
fmul st(2)
fstp dword [esi]
mov esi, dword [esp + 0x24]
add esi, dword [esp + 0x100]
add ebx, dword [esp + 0x104]
mov dword [esp + 0x100], esi
mov esi, dword [esp + 0x24]
add esi, dword [esp + 0xf0]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xf0], esi
add edi, ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
add esi, dword [esp + 0x108]
add ebx, dword [esp + 0x10c]
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
add esi, dword [esp + 0x110]
add ebx, dword [esp + 0xf4]
mov dword [esp + 0x110], esi
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
add ecx, esi
add ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0xec]
add eax, esi
dec ebx
mov dword [esp + 0xec], ebx
test ebx, ebx
jg 0x4c9dc1
mov esi, dword [esp + 0xc8]
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0xc0]
mov esi, dword [esi]
mov edx, dword [esp + 0xbc]
mov dword [0x590778], esi
mov ebx, dword [ebx]
fld dword [0x590778]
mov dword [0x590774], ebx
mov edi, dword [esp + 0xd0]
fmul dword [eax]
mov edi, dword [edi]
mov ecx, dword [esp + 0xcc]
mov dword [0x59077c], edi
mov ebp, dword [esp + 0x90]
mov ebx, dword [esp + 0x94]
mov edi, dword [esp + 0xd4]
fstp st(1)
fld dword [0x590774]
mov edi, dword [edi]
mov eax, dword [esp + 0xd8]
fmul dword [edx]
mov edx, dword [esp + 0xdc]
mov dword [0x590780], edi
mov eax, dword [eax]
mov esi, dword [esp + 0x98]
mov edx, dword [edx]
mov dword [0x590774], eax
faddp st(1)
mov dword [0x590784], edx
mov edi, dword [esp + 0x9c]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0xa8]
fld dword [0x59077c]
lea edx, [edx + 4]
lea eax, [eax + 4]
fmul dword [ecx]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0xa8], eax
mov ecx, dword [ecx]
mov eax, dword [esp + 0xc4]
fadd st(1)
mov dword [0x590778], ecx
mov ecx, dword [esp + 0x94]
lea edx, [edx + 4]
lea eax, [eax + 4]
lea ecx, [ecx + 4]
mov dword [esp + 0xac], edx
fmul dword [ebp]
mov ebp, dword [esp + 0xe4]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xc8]
mov ebp, dword [ebp]
mov dword [esp + 0xc4], eax
fstp dword [ebx]
mov ebx, dword [esp + 0xe8]
mov dword [0x590788], ebp
fld dword [0x590784]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x98]
fmul dword [0x590778]
mov dword [0x59077c], ebx
lea ebp, [ebp + 4]
mov dword [esp + 0x98], ebp
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0xb4]
lea ecx, [ecx + 4]
fstp st(1)
fld dword [0x590780]
lea ebx, [ebx + 4]
lea ebp, [ebp + 4]
fmul dword [0x590774]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ebp
mov ebx, dword [esp + 0xb8]
mov ecx, dword [esp + 0xcc]
mov ebp, dword [esp + 0xd0]
faddp st(1)
lea ebx, [ebx + 4]
lea edx, [edx + 4]
lea ecx, [ecx + 4]
lea ebp, [ebp + 4]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xc8], edx
fld dword [0x590788]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], ebp
fmul dword [0x59077c]
mov ebx, dword [esp + 0xd4]
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x8c]
lea ebx, [ebx + 4]
fadd st(1)
lea eax, [eax + 4]
lea edx, [edx + 4]
lea ecx, [ecx + 4]
dec ebp
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xe0], eax
fmul dword [esi]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x8c], ebp
lea esi, [esi + 4]
test ebp, ebp
fstp dword [edi]
mov edi, dword [esp + 0xa4]
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0xbc]
lea edi, [edi + 4]
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0xc0]
lea esi, [esi + 4]
lea edi, [edi + 4]
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], edi
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xdc]
lea esi, [esi + 4]
lea edi, [edi + 4]
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], edi
jg 0x4c955f
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x28]
add esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x28]
add edi, dword [esp + 0x70]
mov edx, dword [esp + 0x38]
add eax, dword [esp + 0x74]
add edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x6c], esi
add ebp, dword [esp + 0x7c]
mov dword [esp + 0x74], eax
add ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x28]
add esi, dword [esp + 0x50]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x7c], ebp
add eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x80], ebx
add edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x28]
add ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x50], esi
add ebp, dword [esp + 0x64]
add ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x70], edi
dec esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebx
mov dword [esp + 0x14], esi
test esi, esi
jg 0x4c93c0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
test eax, eax
mov ecx, dword [esp + 0x24]
jle 0x4cb23e
mov ebp, dword [esp + 0x1c]
add ecx, dword [esp + 0x28]
imul ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x140]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x154]
add ebp, dword [esp + 0x24]
sub eax, dword [esp + 0x2c]
add eax, dword [esp + 0x24]
sub ebx, dword [esp + 0x2c]
add ebx, dword [esp + 0x24]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
add ebx, 4
sub esi, dword [esp + 0x2c]
mov dword [esp + 0x50], ebx
add eax, esi
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x148]
sub eax, dword [esp + 0x34]
lea ecx, [esi + ecx + 4]
lea esi, [esi + ebp + 4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x34]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
add eax, ebp
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x144]
sub eax, dword [esp + 0x2c]
lea eax, [eax + ebp + 4]
mov ebp, dword [esp + 0x134]
sub ebp, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x40], ebp
mov ebp, dword [esp + 0x20]
add ebp, dword [esp + 0x38]
add ebp, dword [esp + 0x40]
add esi, dword [esp + 0x3c]
add esi, dword [esp + 0x40]
dec eax
mov dword [esp + 0x4c], eax
xor eax, eax
cmp dword [esp + 0x4c], 4
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], esi
setle al
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x74], eax
test eax, eax
mov ebx, dword [esp + 0x50]
jle 0x4cb19d
add edi, edi
mov dword [esp + 0x78], ebx
add edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x60]
mov ebp, dword [esp + 0x2c]
add edi, 4
add ebx, dword [esp + 0x48]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x18]
add ebx, 4
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], edx
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x28]
add ebx, ebx
add ebx, dword [esp + 0x50]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x28]
add ebx, ebx
add ebx, dword [esp + 0x54]
add ebx, 4
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x34]
add ebx, 4
add esi, dword [esp + 0x40]
mov dword [esp + 0x9c], ebx
add esi, 4
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0x3c]
add esi, dword [esp + 0x68]
add esi, 4
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0x30]
add esi, dword [esp + 0x58]
add esi, 4
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x68]
add esi, dword [esp + 0x3c]
add esi, dword [esp + 0x3c]
lea edi, [esi + 4]
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x58]
add edi, dword [esp + 0x30]
add edi, dword [esp + 0x30]
add esi, dword [esp + 0x3c]
add esi, 4
lea eax, [edi + 4]
add edi, dword [esp + 0x30]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x3c]
add edi, 4
add eax, dword [esp + 0x6c]
mov dword [esp + 0xb4], esi
mov esi, dword [esp + 0x30]
add eax, 4
add esi, dword [esp + 0x5c]
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], eax
add esi, 4
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x6c]
add esi, dword [esp + 0x3c]
add esi, dword [esp + 0x3c]
lea edi, [esi + 4]
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x5c]
add edi, dword [esp + 0x30]
add edi, dword [esp + 0x30]
add esi, dword [esp + 0x3c]
add esi, 4
lea eax, [edi + 4]
add edi, dword [esp + 0x30]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], esi
add edi, 4
mov dword [esp + 0xd0], edi
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xd4], eax
test esi, esi
mov eax, dword [esp + 0x9c]
jle 0x4caf0d
add eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0x28]
add eax, dword [esp + 0x30]
mov esi, dword [esp + 0x88]
mov dword [esp + 0xd8], esi
mov edi, dword [esp + 0x8c]
mov ecx, eax
add eax, dword [esp + 0x30]
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0xe0], eax
add eax, dword [esp + 0x30]
add ebx, ebx
add ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x30]
mov dword [esp + 0xe4], ebx
add ebx, dword [esp + 0x30]
mov dword [esp + 0xe8], ebx
add ebx, dword [esp + 0x30]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x38]
add ebx, ebx
add ebx, dword [esp + 0xa0]
add ebx, dword [esp + 0x3c]
mov dword [esp + 0x10], ebx
add ebx, dword [esp + 0x3c]
mov dword [esp + 0xf0], ebx
add ebx, dword [esp + 0x3c]
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xf8], ebx
test ebx, ebx
jne 0x4cad6f
fld dword [edi]
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0xe4]
fadd dword [esi]
mov esi, dword [esp + 0x28]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x10]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590780], ebx
mov ebx, dword [esp + 0xe0]
fmul st(1)
faddp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xe8]
fstp st(4)
fld dword [ebx]
mov ebx, dword [esp + 0xf0]
fsub st(4)
mov ebx, dword [ebx]
mov dword [0x590784], ebx
mov ebx, dword [esp + 0xec]
fmul st(1)
faddp st(4)
fld dword [eax]
fstp st(5)
fld dword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(5)
mov ebx, dword [ebx]
mov dword [0x590788], ebx
mov ebx, dword [esp + 0xdc]
fmul st(1)
fadd st(5)
fstp st(1)
fld dword [0x590784]
fmulp st(4)
fld dword [0x590780]
fmul st(3)
fadd st(4)
fstp st(3)
fld dword [0x590788]
fmul st(1)
fadd st(3)
fmul st(2)
fstp dword [ebx]
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0xe4]
add esi, dword [esp + 0xe8]
mov dword [esp + 0xe4], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xe8], esi
add ebx, dword [esp + 0xec]
mov esi, dword [esp + 0x28]
add esi, dword [esp + 0xd8]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xd8], esi
add edi, ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
fld dword [edi]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
add esi, dword [esp + 0x10]
add ebx, dword [esp + 0xf0]
mov dword [esp + 0x10], esi
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
add esi, dword [esp + 0xf4]
add ebx, dword [esp + 0xdc]
mov dword [esp + 0xf4], esi
mov dword [esp + 0xdc], ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
add ecx, esi
add ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xe0], ebx
mov ebx, dword [esp + 0xd8]
add eax, esi
mov esi, dword [esp + 0x10]
fadd dword [ebx]
mov ebx, dword [esp + 0xe4]
mov esi, dword [esi]
mov dword [0x590780], esi
mov esi, dword [esp + 0xe8]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xe0]
fsub st(3)
fmul st(1)
faddp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xf0]
fstp st(4)
fld dword [esi]
mov ebx, dword [ebx]
mov esi, dword [esp + 0xf4]
fsub st(4)
mov dword [0x590784], ebx
mov ebx, dword [esp + 0xec]
mov esi, dword [esi]
mov dword [0x590788], esi
mov esi, dword [esp + 0x28]
fmul st(1)
faddp st(4)
fld dword [eax]
fstp st(5)
fld dword [ebx]
mov ebx, dword [esp + 0xdc]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld dword [0x590784]
fmulp st(4)
fld dword [0x590780]
fmul st(3)
fadd st(4)
fstp st(3)
fld dword [0x590788]
fmul st(1)
fadd st(3)
fmul st(2)
fstp dword [ebx]
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0xe4]
add esi, dword [esp + 0xe8]
mov dword [esp + 0xe4], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xe8], esi
add ebx, dword [esp + 0xec]
mov esi, dword [esp + 0x28]
add esi, dword [esp + 0xd8]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xd8], esi
add edi, ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
fld dword [edi]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
add esi, dword [esp + 0x10]
add ebx, dword [esp + 0xf0]
mov dword [esp + 0x10], esi
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
add esi, dword [esp + 0xf4]
add ebx, dword [esp + 0xdc]
mov dword [esp + 0xf4], esi
mov dword [esp + 0xdc], ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
add ecx, esi
add ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xe0], ebx
mov ebx, dword [esp + 0xd8]
add eax, esi
mov esi, dword [esp + 0x10]
fadd dword [ebx]
mov ebx, dword [esp + 0xe4]
mov esi, dword [esi]
mov dword [0x590780], esi
mov esi, dword [esp + 0xe8]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xe0]
fsub st(3)
fmul st(1)
faddp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xf0]
fstp st(4)
fld dword [esi]
mov ebx, dword [ebx]
mov esi, dword [esp + 0xf4]
fsub st(4)
mov dword [0x590784], ebx
mov ebx, dword [esp + 0xec]
mov esi, dword [esi]
mov dword [0x590788], esi
mov esi, dword [esp + 0x28]
fmul st(1)
faddp st(4)
fld dword [eax]
fstp st(5)
fld dword [ebx]
mov ebx, dword [esp + 0xdc]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld dword [0x590784]
fmulp st(4)
fld dword [0x590780]
fmul st(3)
fadd st(4)
fstp st(3)
fld dword [0x590788]
fmul st(1)
fadd st(3)
fmul st(2)
fstp dword [ebx]
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0xe4]
add esi, dword [esp + 0xe8]
mov dword [esp + 0xe4], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xe8], esi
add ebx, dword [esp + 0xec]
mov esi, dword [esp + 0x28]
add esi, dword [esp + 0xd8]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xd8], esi
add edi, ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
fld dword [edi]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
add esi, dword [esp + 0x10]
add ebx, dword [esp + 0xf0]
mov dword [esp + 0x10], esi
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
add esi, dword [esp + 0xf4]
add ebx, dword [esp + 0xdc]
mov dword [esp + 0xf4], esi
mov dword [esp + 0xdc], ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
add ecx, esi
add ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xe0], ebx
mov ebx, dword [esp + 0xd8]
add eax, esi
mov esi, dword [esp + 0x10]
fadd dword [ebx]
mov ebx, dword [esp + 0xe4]
mov esi, dword [esi]
mov dword [0x590780], esi
mov esi, dword [esp + 0xe8]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xe0]
fsub st(3)
fmul st(1)
faddp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xf0]
fstp st(4)
fld dword [esi]
mov ebx, dword [ebx]
mov esi, dword [esp + 0xf4]
fsub st(4)
mov dword [0x590784], ebx
mov ebx, dword [esp + 0xec]
mov esi, dword [esi]
mov dword [0x590788], esi
mov esi, dword [esp + 0x28]
fmul st(1)
faddp st(4)
fld dword [eax]
fstp st(5)
fld dword [ebx]
mov ebx, dword [esp + 0xdc]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld dword [0x590784]
fmulp st(4)
fld dword [0x590780]
fmul st(3)
fadd st(4)
fstp st(3)
fld dword [0x590788]
fmul st(1)
fadd st(3)
fmul st(2)
fstp dword [ebx]
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0xe4]
add esi, dword [esp + 0xe8]
mov dword [esp + 0xe4], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xe8], esi
add ebx, dword [esp + 0xec]
mov esi, dword [esp + 0x28]
add esi, dword [esp + 0xd8]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xd8], esi
add edi, ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
fld dword [edi]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
add esi, dword [esp + 0x10]
add ebx, dword [esp + 0xf0]
mov dword [esp + 0x10], esi
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
add esi, dword [esp + 0xf4]
add ebx, dword [esp + 0xdc]
mov dword [esp + 0xf4], esi
mov dword [esp + 0xdc], ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
add ecx, esi
add ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xe0], ebx
mov ebx, dword [esp + 0xd8]
add eax, esi
mov esi, dword [esp + 0xe0]
fadd dword [ebx]
mov ebx, dword [esp + 0xe4]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x10]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590780], ebx
mov ebx, dword [esp + 0xe8]
fmul st(1)
fadd st(3)
fstp dword [0x590774]
fld dword [esi]
mov esi, dword [esp + 0xdc]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xf0]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590784], ebx
mov ebx, dword [esp + 0xec]
fmul st(1)
fadd st(3)
fstp dword [0x590778]
fld dword [eax]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590788], ebx
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0xe4]
fmul st(1)
mov dword [esp + 0xe4], ebx
mov ebx, dword [esp + 0x28]
fadd st(3)
fstp dword [0x59077c]
fld dword [0x590784]
fmul dword [0x590778]
fstp st(1)
fld dword [0x590780]
fmul dword [0x590774]
faddp st(1)
fld dword [0x590788]
fmul dword [0x59077c]
fadd st(1)
fmul st(2)
fstp dword [esi]
mov esi, dword [esp + 0x28]
add esi, dword [esp + 0xe8]
add ebx, dword [esp + 0xec]
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0x28]
add esi, dword [esp + 0xd8]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xd8], esi
add edi, ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
add esi, dword [esp + 0x10]
add ebx, dword [esp + 0xf0]
mov dword [esp + 0x10], esi
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
add esi, dword [esp + 0xf4]
add ebx, dword [esp + 0xdc]
mov dword [esp + 0xf4], esi
mov dword [esp + 0xdc], ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
add ecx, esi
add ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xe0], ebx
mov ebx, dword [esp + 0xd4]
add eax, esi
sub ebx, 5
mov dword [esp + 0xd4], ebx
cmp ebx, 4
jg 0x4ca61a
test ebx, ebx
jle 0x4caf0d
fld dword [edi]
mov ebx, dword [esp + 0xd8]
mov esi, dword [esp + 0xe0]
fadd dword [ebx]
mov ebx, dword [esp + 0xe4]
fdivr dword [edi]
fstp st(1)
fld dword [edx]
fstp st(2)
fld dword [ebp]
fsub st(2)
fmul st(1)
faddp st(2)
fld dword [ecx]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0x10]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590780], ebx
mov ebx, dword [esp + 0xe8]
fmul st(1)
fadd st(3)
fstp dword [0x590774]
fld dword [esi]
mov esi, dword [esp + 0xdc]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xf0]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590784], ebx
mov ebx, dword [esp + 0xec]
fmul st(1)
fadd st(3)
fstp dword [0x590778]
fld dword [eax]
fstp st(3)
fld dword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(3)
mov ebx, dword [ebx]
mov dword [0x590788], ebx
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0xe4]
fmul st(1)
mov dword [esp + 0xe4], ebx
mov ebx, dword [esp + 0x28]
fadd st(3)
fstp dword [0x59077c]
fld dword [0x590784]
fmul dword [0x590778]
fstp st(1)
fld dword [0x590780]
fmul dword [0x590774]
faddp st(1)
fld dword [0x590788]
fmul dword [0x59077c]
fadd st(1)
fmul st(2)
fstp dword [esi]
mov esi, dword [esp + 0x28]
add esi, dword [esp + 0xe8]
add ebx, dword [esp + 0xec]
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0x28]
add esi, dword [esp + 0xd8]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xd8], esi
add edi, ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
add edx, esi
add ebp, ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
add esi, dword [esp + 0x10]
add ebx, dword [esp + 0xf0]
mov dword [esp + 0x10], esi
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
add esi, dword [esp + 0xf4]
add ebx, dword [esp + 0xdc]
mov dword [esp + 0xf4], esi
mov dword [esp + 0xdc], ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
add ecx, esi
add ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xe0], ebx
mov ebx, dword [esp + 0xd4]
add eax, esi
dec ebx
mov dword [esp + 0xd4], ebx
test ebx, ebx
jg 0x4cad6f
mov esi, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov esi, dword [esi]
mov edx, dword [esp + 0xa4]
mov dword [0x590778], esi
mov ebx, dword [ebx]
fld dword [0x590778]
mov dword [0x590774], ebx
mov edi, dword [esp + 0xb8]
fmul dword [eax]
mov edi, dword [edi]
mov ecx, dword [esp + 0xb4]
mov dword [0x59077c], edi
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xbc]
fstp st(1)
fld dword [0x590774]
mov edi, dword [edi]
mov eax, dword [esp + 0xc0]
fmul dword [edx]
mov edx, dword [esp + 0xc4]
mov dword [0x590780], edi
mov eax, dword [eax]
mov esi, dword [esp + 0x80]
mov edx, dword [edx]
mov dword [0x590774], eax
faddp st(1)
mov dword [0x590784], edx
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x90]
fld dword [0x59077c]
lea edx, [edx + 4]
lea eax, [eax + 4]
fmul dword [ecx]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x90], eax
mov ecx, dword [ecx]
mov eax, dword [esp + 0xac]
fadd st(1)
mov dword [0x590778], ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edx + 4]
lea eax, [eax + 4]
lea ecx, [ecx + 4]
mov dword [esp + 0x94], edx
fmul dword [ebp]
mov ebp, dword [esp + 0xcc]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xb0]
mov ebp, dword [ebp]
mov dword [esp + 0xac], eax
fstp dword [ebx]
mov ebx, dword [esp + 0xd0]
mov dword [0x590788], ebp
fld dword [0x590784]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x80]
fmul dword [0x590778]
mov dword [0x59077c], ebx
lea ebp, [ebp + 4]
mov dword [esp + 0x80], ebp
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x9c]
lea ecx, [ecx + 4]
fstp st(1)
fld dword [0x590780]
lea ebx, [ebx + 4]
lea ebp, [ebp + 4]
fmul dword [0x590774]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ebp
mov ebx, dword [esp + 0xa0]
mov ecx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
faddp st(1)
lea ebx, [ebx + 4]
lea edx, [edx + 4]
lea ecx, [ecx + 4]
lea ebp, [ebp + 4]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xb0], edx
fld dword [0x590788]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], ebp
fmul dword [0x59077c]
mov ebx, dword [esp + 0xbc]
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x74]
lea ebx, [ebx + 4]
fadd st(1)
lea eax, [eax + 4]
lea edx, [edx + 4]
lea ecx, [ecx + 4]
dec ebp
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc8], eax
fmul dword [esi]
mov esi, dword [esp + 0x88]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x74], ebp
lea esi, [esi + 4]
test ebp, ebp
fstp dword [edi]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0xa4]
lea edi, [edi + 4]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0xa8]
lea esi, [esi + 4]
lea edi, [edi + 4]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], edi
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xc4]
lea esi, [esi + 4]
lea edi, [edi + 4]
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], edi
jg 0x4ca546
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x24]
add esi, dword [esp + 0x60]
mov eax, dword [esp + 0x24]
add edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
add eax, dword [esp + 0x64]
add edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x60], esi
add ebp, dword [esp + 0x68]
mov dword [esp + 0x64], eax
add ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x24]
add esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x68], ebp
add eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x6c], ebx
add edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x24]
add ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
add ebp, dword [esp + 0x58]
add ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
dec esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x14], esi
test esi, esi
jg 0x4ca3b8
pop ebp
ffree st(5)
ffree st(4)
ffree st(3)
ffree st(2)
ffree st(1)
ffree st(0)
pop edi
pop esi
pop ebx
add esp, 0x10c
ret 0x38