Function at 0x4caf70
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, 3
mov dword [esp + 0x1c], ecx
mov edi, ebp
mov ecx, edx
add edi, 0x18
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, 3
sub esi, 8
add ebp, 3
imul ebp, dword [esp + 0x28]
add ecx, 3
add edi, 2
mov dword [esp + 0x2c], esi
mov esi, 8
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, 3
sub edi, 8
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*8]
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 0x4cbc1d
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 + 8]
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, 3
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*8]
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 0x4cbb88
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 + 0x10]
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xa4], eax
lea ebx, [ebx + esi + 8]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x68]
lea ebx, [ebx + esi + 0x10]
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 + 8]
add esi, dword [esp + 0x3c]
mov dword [esp + 0xd4], edi
lea edi, [esi + 8]
add esi, dword [esp + 0x3c]
mov dword [esp + 0xd8], edi
add esi, 8
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 0x4cb8ed
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 + 8]
lea edi, [edx + 8]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edi
mov edi, dword [esp + 0x30]
add edi, edx
add ebx, 0x10
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0xd0]
lea ecx, [edi + 8]
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x3c]
add ecx, dword [esp + 0xd0]
add ecx, 0x10
add edx, 0x10
add ebx, dword [esp + 0x3c]
mov dword [esp + 0x100], edx
add ebx, dword [esp + 0x3c]
add edi, 0x10
lea edx, [ebx + 0x10]
add ebx, dword [esp + 0x3c]
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0x90]
add ebx, 0x10
test edx, edx
mov dword [esp + 0x108], ebx
jne 0x4cb789
fld qword [esi - 8]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xfc]
fadd qword [esi]
lea ebp, [ebp + 0x28]
lea esi, [esi + 0x28]
lea eax, [eax + 0x28]
lea ecx, [ecx + 0x28]
lea edi, [edi + 0x28]
fdivr qword [esi - 0x30]
fstp st(1)
fld qword [eax - 0x28]
fstp st(2)
fld qword [eax - 0x20]
fst st(3)
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [edx]
mov edx, dword [esp + 0x104]
fstp st(4)
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [ecx - 0x28]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0x100]
fstp st(5)
fld qword [ebx]
mov ebx, dword [esp + 0xf8]
fsub st(5)
fmul st(1)
faddp st(5)
fld qword [edx]
fstp qword [0x596b48]
fld qword [ebx]
mov ebx, dword [esp + 0x108]
fstp st(6)
fld qword [edi - 0x28]
fsub st(6)
fmul st(1)
fadd st(6)
fstp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0xf0]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(5)
fld qword [0x596b40]
fmul st(4)
fadd st(5)
fstp st(4)
fld qword [0x596b50]
fmul st(1)
fadd st(4)
fmul st(2)
fstp qword [ebp - 0x28]
fld qword [esi - 0x28]
fadd qword [esi - 0x20]
fdivr qword [esi - 0x28]
fstp st(1)
fld qword [eax - 0x18]
fst st(2)
fsub st(3)
fmul st(1)
faddp st(3)
fld qword [ebx + 8]
mov ebx, dword [esp + 0xfc]
fstp st(4)
fld qword [ebx + 8]
mov ebx, dword [esp + 0xf4]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [ecx - 0x20]
fstp qword [0x596b40]
fld qword [ebx + 8]
mov ebx, dword [esp + 0x100]
fstp st(5)
fld qword [ebx + 8]
mov ebx, dword [esp + 0xf8]
fsub st(5)
fmul st(1)
faddp st(5)
fld qword [edx + 8]
fstp qword [0x596b48]
fld qword [ebx + 8]
mov ebx, dword [esp + 0x108]
fstp st(6)
fld qword [edi - 0x20]
fsub st(6)
fmul st(1)
fadd st(6)
fstp st(1)
fld qword [ebx + 8]
mov ebx, dword [esp + 0xf0]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(5)
fld qword [0x596b40]
fmul st(4)
fadd st(5)
fstp st(4)
fld qword [0x596b50]
fmul st(1)
fadd st(4)
fmul st(3)
fstp qword [ebp - 0x20]
fld qword [esi - 0x20]
fadd qword [esi - 0x18]
fdivr qword [esi - 0x20]
fstp st(1)
fld qword [eax - 0x10]
fst st(3)
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebx + 0x10]
mov ebx, dword [esp + 0xfc]
fstp st(4)
fld qword [ebx + 0x10]
mov ebx, dword [esp + 0xf4]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [ecx - 0x18]
fstp qword [0x596b40]
fld qword [ebx + 0x10]
mov ebx, dword [esp + 0x100]
fstp st(5)
fld qword [ebx + 0x10]
mov ebx, dword [esp + 0xf8]
fsub st(5)
fmul st(1)
faddp st(5)
fld qword [edx + 0x10]
fstp qword [0x596b48]
fld qword [ebx + 0x10]
mov ebx, dword [esp + 0x108]
fstp st(6)
fld qword [edi - 0x18]
fsub st(6)
fmul st(1)
fadd st(6)
fstp st(1)
fld qword [ebx + 0x10]
mov ebx, dword [esp + 0xf0]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(5)
fld qword [0x596b40]
fmul st(4)
fadd st(5)
fstp st(4)
fld qword [0x596b50]
fmul st(1)
fadd st(4)
fmul st(2)
fstp qword [ebp - 0x18]
fld qword [esi - 0x18]
fadd qword [esi - 0x10]
fdivr qword [esi - 0x18]
fstp st(1)
fld qword [eax - 8]
fst st(2)
fsub st(3)
fmul st(1)
faddp st(3)
fld qword [ebx + 0x18]
mov ebx, dword [esp + 0xfc]
fstp st(4)
fld qword [ebx + 0x18]
mov ebx, dword [esp + 0xf4]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [ecx - 0x10]
fstp qword [0x596b40]
fld qword [ebx + 0x18]
mov ebx, dword [esp + 0x100]
fstp st(5)
fld qword [ebx + 0x18]
mov ebx, dword [esp + 0xf8]
fsub st(5)
fmul st(1)
faddp st(5)
fld qword [edx + 0x18]
mov edx, dword [esp + 0xf4]
fstp qword [0x596b48]
fld qword [ebx + 0x18]
mov ebx, dword [esp + 0x108]
fstp st(6)
fld qword [edi - 0x10]
fsub st(6)
fmul st(1)
fadd st(6)
fstp st(1)
fld qword [ebx + 0x18]
mov ebx, dword [esp + 0xf0]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(5)
fld qword [0x596b40]
fmul st(4)
fadd st(5)
fstp st(4)
fld qword [0x596b50]
fmul st(1)
fadd st(4)
fmul st(3)
fstp qword [ebp - 0x10]
fld qword [esi - 0x10]
fadd qword [esi - 8]
fdivr qword [esi - 0x10]
fstp st(1)
fld qword [eax]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebx + 0x20]
mov ebx, dword [esp + 0xfc]
fstp st(3)
fld qword [ebx + 0x20]
mov ebx, dword [esp + 0x100]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b28]
fld qword [ecx - 8]
fstp qword [0x596b40]
fld qword [edx + 0x20]
mov edx, dword [esp + 0x108]
fstp st(3)
fld qword [ebx + 0x20]
mov ebx, dword [esp + 0x104]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b30]
fld qword [ebx + 0x20]
mov ebx, dword [esp + 0xf8]
fstp qword [0x596b48]
fld qword [ebx + 0x20]
mov ebx, dword [esp + 0x100]
fstp st(3)
fld qword [edi - 8]
lea ebx, [ebx + 0x28]
fsub st(3)
mov dword [esp + 0x100], ebx
mov ebx, dword [esp + 0x108]
lea ebx, [ebx + 0x28]
fmul st(1)
mov dword [esp + 0x108], ebx
mov ebx, dword [esp + 0xf4]
lea ebx, [ebx + 0x28]
fadd st(3)
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0xec]
sub ebx, 5
mov dword [esp + 0xec], ebx
cmp ebx, 4
fstp qword [0x596b38]
fld qword [edx + 0x20]
mov edx, dword [esp + 0xfc]
fstp qword [0x596b50]
lea edx, [edx + 0x28]
fld qword [0x596b48]
mov dword [esp + 0xfc], edx
mov edx, dword [esp + 0x104]
fmul qword [0x596b30]
lea edx, [edx + 0x28]
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0xf0]
fstp st(1)
fld qword [0x596b40]
lea edx, [edx + 0x28]
fmul qword [0x596b28]
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0xf8]
lea edx, [edx + 0x28]
faddp st(1)
mov dword [esp + 0xf8], edx
fld qword [0x596b50]
fmul qword [0x596b38]
fadd st(1)
fmul st(2)
fstp qword [ebp - 8]
jg 0x4cb36b
test ebx, ebx
jle 0x4cb8ed
fld qword [esi - 8]
mov ebx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
fadd qword [esi]
lea ebp, [ebp + 8]
lea esi, [esi + 8]
lea eax, [eax + 8]
lea ecx, [ecx + 8]
lea edi, [edi + 8]
fdivr qword [esi - 0x10]
fstp st(1)
fld qword [eax - 8]
fstp st(2)
fld qword [eax]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebx]
mov ebx, dword [esp + 0xfc]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0x100]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b28]
fld qword [ecx - 8]
fstp qword [0x596b40]
fld qword [edx]
mov edx, dword [esp + 0x108]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0x104]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b30]
fld qword [ebx]
mov ebx, dword [esp + 0xf8]
fstp qword [0x596b48]
fld qword [ebx]
mov ebx, dword [esp + 0x100]
fstp st(3)
fld qword [edi - 8]
lea ebx, [ebx + 8]
fsub st(3)
mov dword [esp + 0x100], ebx
mov ebx, dword [esp + 0x108]
lea ebx, [ebx + 8]
fmul st(1)
mov dword [esp + 0x108], ebx
mov ebx, dword [esp + 0xf4]
lea ebx, [ebx + 8]
fadd st(3)
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0xec]
dec ebx
mov dword [esp + 0xec], ebx
test ebx, ebx
fstp qword [0x596b38]
fld qword [edx]
mov edx, dword [esp + 0xfc]
fstp qword [0x596b50]
lea edx, [edx + 8]
fld qword [0x596b48]
mov dword [esp + 0xfc], edx
mov edx, dword [esp + 0x104]
fmul qword [0x596b30]
lea edx, [edx + 8]
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0xf0]
fstp st(1)
fld qword [0x596b40]
lea edx, [edx + 8]
fmul qword [0x596b28]
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0xf8]
lea edx, [edx + 8]
faddp st(1)
mov dword [esp + 0xf8], edx
fld qword [0x596b50]
fmul qword [0x596b38]
fadd st(1)
fmul st(2)
fstp qword [ebp - 8]
jg 0x4cb789
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
mov eax, dword [esp + 0xc0]
fld qword [ebx]
mov ebp, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd4]
fstp qword [0x596b28]
mov edx, dword [esp + 0xdc]
mov edi, dword [esp + 0x9c]
fld qword [esi]
mov esi, dword [esp + 0x98]
mov ecx, dword [esp + 0xe0]
fstp qword [0x596b30]
fld qword [eax]
mov eax, dword [esp + 0xc8]
fstp qword [0x596b38]
fld qword [0x596b30]
fmul qword [ebp]
mov ebp, dword [esp + 0xe8]
fstp st(1)
fld qword [0x596b28]
fmul qword [ebx]
mov ebx, dword [esp + 0xc4]
faddp st(1)
fld qword [0x596b38]
fmul qword [edx]
mov edx, dword [esp + 0xcc]
fadd st(1)
fmul qword [esi]
mov esi, dword [esp + 0xe4]
fstp qword [edi]
mov edi, dword [esp + 0xa0]
fld qword [ecx]
mov ecx, dword [esp + 0x24]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0x24]
fstp qword [0x596b28]
add ebx, dword [esp + 0xb4]
fld qword [esi]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xb4], ebx
fstp qword [0x596b48]
mov ebx, dword [esp + 0x24]
fld qword [eax]
mov eax, dword [esp + 0xa4]
fstp qword [0x596b30]
fld qword [ebp]
mov ebp, dword [esp + 0x24]
fstp qword [0x596b50]
add ebp, dword [esp + 0xb8]
add esi, dword [esp + 0xbc]
fld qword [edx]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb8], ebp
fstp qword [0x596b38]
add edx, dword [esp + 0xc0]
mov dword [esp + 0xbc], esi
fld qword [0x596b48]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0xc0], edx
fmul qword [0x596b30]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
fstp st(1)
fld qword [0x596b40]
fmul qword [0x596b28]
faddp st(1)
fld qword [0x596b50]
fmul qword [0x596b38]
fadd st(1)
fmul qword [edi]
mov edi, dword [esp + 0x24]
add edi, dword [esp + 0xc4]
fstp qword [eax]
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc4], edi
add eax, dword [esp + 0xc8]
add ecx, dword [esp + 0xcc]
add ebx, dword [esp + 0x98]
add ebp, dword [esp + 0x9c]
mov dword [esp + 0xc8], eax
add esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x20]
mov dword [esp + 0xcc], ecx
add edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x98], ebx
add edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x9c], ebp
add eax, dword [esp + 0xd4]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xa0], esi
add ecx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0xa4], edx
add ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x20]
mov dword [esp + 0xd0], edi
add ebp, dword [esp + 0xe0]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xd4], eax
add esi, dword [esp + 0xe4]
mov edi, dword [esp + 0x24]
mov dword [esp + 0xd8], ecx
add edx, dword [esp + 0xe8]
mov eax, dword [esp + 0x24]
add edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xdc], ebx
add eax, dword [esp + 0xac]
add ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x94]
mov dword [esp + 0xe0], ebp
dec ebx
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], edx
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x94], ebx
test ebx, ebx
jg 0x4cb2b0
mov esi, dword [esp + 0x38]
add esi, dword [esp + 0x58]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
add edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x28]
add eax, dword [esp + 0x88]
mov dword [esp + 0x58], esi
add ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x84], edi
add ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x88], eax
add esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x5c], ecx
add edx, dword [esp + 0x70]
mov eax, dword [esp + 0x28]
add edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
add eax, dword [esp + 0x78]
add ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x50]
dec ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x50], ebx
test ebx, ebx
jg 0x4cb161
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x54], 0
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x18]
jne 0x4ccc24
add edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x13c]
imul edi, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x150]
add edi, dword [esp + 0x28]
sub ebp, dword [esp + 0x2c]
add ebp, dword [esp + 0x28]
sub eax, dword [esp + 0x2c]
add eax, dword [esp + 0x28]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x28]
add eax, 8
sub ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
add ebp, ecx
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x148]
sub ebp, dword [esp + 0x34]
lea edx, [ecx + edx + 8]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x60], ebp
mov ebp, dword [esp + 0x28]
add ebp, dword [esp + 0x60]
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x60]
add ebp, edi
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x144]
sub ebp, dword [esp + 0x2c]
lea ebp, [ebp + edi + 8]
lea edi, [ecx + edi + 8]
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x74], edi
sub ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x38]
add ecx, dword [esp + 0x78]
add edi, edi
add edi, dword [esp + 0x78]
dec edx
mov dword [esp + 0x84], edx
xor edx, edx
cmp dword [esp + 0x84], 4
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edi
setle dl
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x8c], edx
test edx, edx
mov eax, dword [esp + 0x58]
jle 0x4ccb7d
add ebx, ebx
mov dword [esp + 0x90], eax
add ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x6c]
add ebx, 8
add eax, dword [esp + 0x54]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x24]
add eax, 8
add ebx, dword [esp + 0x58]
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x24]
add ebx, ebx
mov dword [esp + 0x94], edi
add ebx, dword [esp + 0x58]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x24]
add ebx, ebx
mov dword [esp + 0x98], ecx
add ebx, dword [esp + 0x5c]
add ebx, 8
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x50]
add ebx, dword [esp + 0x60]
add ebx, 8
add esi, dword [esp + 0x78]
mov dword [esp + 0xb4], ebx
add esi, 8
mov dword [esp + 0xb8], esi
mov esi, dword [esp + 0x3c]
add esi, dword [esp + 0x7c]
add esi, 8
mov dword [esp + 0xbc], esi
mov esi, dword [esp + 0x30]
add esi, dword [esp + 0x64]
add esi, 8
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x7c]
add esi, dword [esp + 0x3c]
add esi, dword [esp + 0x3c]
lea edi, [esi + 8]
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, 8
lea eax, [edi + 8]
add edi, dword [esp + 0x30]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x3c]
add edi, 8
add eax, dword [esp + 0x80]
mov dword [esp + 0xcc], esi
mov esi, dword [esp + 0x30]
add eax, 8
add esi, dword [esp + 0x68]
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], eax
add esi, 8
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0x80]
add esi, dword [esp + 0x3c]
add esi, dword [esp + 0x3c]
lea edi, [esi + 8]
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, 8
lea eax, [edi + 8]
add edi, dword [esp + 0x30]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], esi
add edi, 8
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 0x4cc8d5
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 ebp, eax
add eax, dword [esp + 0x30]
mov edx, dword [esp + 0xa8]
mov ecx, 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 0x4cc72e
fld qword [edi]
mov esi, dword [esp + 0xf0]
mov ebx, dword [esp + 0xfc]
fadd qword [esi]
mov esi, dword [esp + 0x10c]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0x108]
fsub st(3)
fmul st(1)
faddp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0xf8]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0x100]
fstp st(4)
fld qword [ebx]
mov ebx, dword [esp + 0x110]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [esi]
mov esi, dword [esp + 0x104]
fstp qword [0x596b48]
fld qword [eax]
fstp st(5)
fld qword [esi]
mov esi, dword [esp + 0x24]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(4)
fld qword [0x596b40]
fmul st(3)
fadd st(4)
fstp st(3)
fld qword [0x596b50]
fmul st(1)
fadd st(3)
fmul st(2)
fstp qword [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 qword [edi]
add edx, esi
add ecx, 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 ebp, 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 qword [ebx]
mov ebx, dword [esp + 0xfc]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0xf8]
fsub st(3)
fmul st(1)
faddp st(3)
fld qword [esi]
mov esi, dword [esp + 0x10c]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0x100]
fstp st(4)
fld qword [ebx]
mov ebx, dword [esp + 0x110]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [esi]
mov esi, dword [esp + 0x104]
fstp qword [0x596b48]
fld qword [eax]
fstp st(5)
fld qword [esi]
mov esi, dword [esp + 0x24]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(4)
fld qword [0x596b40]
fmul st(3)
fadd st(4)
fstp st(3)
fld qword [0x596b50]
fmul st(1)
fadd st(3)
fmul st(2)
fstp qword [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 qword [edi]
add edx, esi
add ecx, 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 ebp, 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 qword [ebx]
mov ebx, dword [esp + 0xfc]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0xf8]
fsub st(3)
fmul st(1)
faddp st(3)
fld qword [esi]
mov esi, dword [esp + 0x10c]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0x100]
fstp st(4)
fld qword [ebx]
mov ebx, dword [esp + 0x110]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [esi]
mov esi, dword [esp + 0x104]
fstp qword [0x596b48]
fld qword [eax]
fstp st(5)
fld qword [esi]
mov esi, dword [esp + 0x24]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(4)
fld qword [0x596b40]
fmul st(3)
fadd st(4)
fstp st(3)
fld qword [0x596b50]
fmul st(1)
fadd st(3)
fmul st(2)
fstp qword [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 qword [edi]
add edx, esi
add ecx, 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 ebp, 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 qword [ebx]
mov ebx, dword [esp + 0xfc]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0xf8]
fsub st(3)
fmul st(1)
faddp st(3)
fld qword [esi]
mov esi, dword [esp + 0x10c]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0x100]
fstp st(4)
fld qword [ebx]
mov ebx, dword [esp + 0x110]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [esi]
mov esi, dword [esp + 0x104]
fstp qword [0x596b48]
fld qword [eax]
fstp st(5)
fld qword [esi]
mov esi, dword [esp + 0x24]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(4)
fld qword [0x596b40]
fmul st(3)
fadd st(4)
fstp st(3)
fld qword [0x596b50]
fmul st(1)
fadd st(3)
fmul st(2)
fstp qword [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 qword [edi]
add edx, esi
add ecx, 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 ebp, 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 + 0x104]
fadd qword [ebx]
mov ebx, dword [esp + 0xfc]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0x108]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b28]
fld qword [ebx]
mov ebx, dword [esp + 0xf8]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0x100]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0x10c]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b30]
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fstp qword [0x596b48]
fld qword [eax]
fstp st(3)
fld qword [esi]
mov esi, dword [esp + 0x110]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b38]
fld qword [esi]
mov esi, dword [esp + 0x24]
fstp qword [0x596b50]
fld qword [0x596b48]
fmul qword [0x596b30]
fstp st(1)
fld qword [0x596b40]
fmul qword [0x596b28]
faddp st(1)
fld qword [0x596b50]
fmul qword [0x596b38]
fadd st(1)
fmul st(2)
fstp qword [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]
add edx, esi
add ecx, 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 ebp, 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 0x4cbfac
test ebx, ebx
jle 0x4cc8d5
fld qword [edi]
mov ebx, dword [esp + 0xf0]
mov esi, dword [esp + 0x104]
fadd qword [ebx]
mov ebx, dword [esp + 0xfc]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0x108]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b28]
fld qword [ebx]
mov ebx, dword [esp + 0xf8]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0x100]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0x10c]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b30]
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fstp qword [0x596b48]
fld qword [eax]
fstp st(3)
fld qword [esi]
mov esi, dword [esp + 0x110]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b38]
fld qword [esi]
mov esi, dword [esp + 0x24]
fstp qword [0x596b50]
fld qword [0x596b48]
fmul qword [0x596b30]
fstp st(1)
fld qword [0x596b40]
fmul qword [0x596b28]
faddp st(1)
fld qword [0x596b50]
fmul qword [0x596b38]
fadd st(1)
fmul st(2)
fstp qword [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]
add edx, esi
add ecx, 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 ebp, 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 0x4cc72e
mov ebx, dword [esp + 0xc0]
mov edi, dword [esp + 0xc8]
mov edx, dword [esp + 0xd0]
fld qword [ebx]
mov ebp, dword [esp + 0xc4]
mov ebx, dword [esp + 0xbc]
fstp qword [0x596b28]
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0x94]
fld qword [edi]
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0xd4]
fstp qword [0x596b30]
fld qword [edx]
mov edx, dword [esp + 0xe0]
fstp qword [0x596b38]
fld qword [0x596b30]
fmul qword [ebp]
mov ebp, dword [esp + 0xe4]
fstp st(1)
fld qword [0x596b28]
fmul qword [ebx]
mov ebx, dword [esp + 0xd8]
faddp st(1)
fld qword [0x596b38]
fmul qword [esi]
mov esi, dword [esp + 0xe8]
fadd st(1)
fmul qword [edi]
mov edi, dword [esp + 0xdc]
fstp qword [eax]
mov eax, dword [esp + 0x98]
fld qword [ecx]
mov ecx, dword [esp + 0xa8]
fstp qword [0x596b40]
lea ecx, [ecx + 8]
fld qword [ebx]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xa8], ecx
fstp qword [0x596b28]
lea ebx, [ebx + 8]
mov ecx, dword [esp + 0xc4]
fld qword [edi]
mov dword [esp + 0x90], ebx
mov edi, dword [esp + 0x9c]
fstp qword [0x596b48]
mov ebx, dword [esp + 0xac]
lea edi, [edi + 8]
fld qword [edx]
mov edx, dword [esp + 0x9c]
lea ebx, [ebx + 8]
fstp qword [0x596b30]
mov dword [esp + 0x9c], edi
mov dword [esp + 0xac], ebx
fld qword [ebp]
mov ebp, dword [esp + 0x94]
mov edi, dword [esp + 0xb8]
fstp qword [0x596b50]
lea ebp, [ebp + 8]
mov ebx, dword [esp + 0xc8]
fld qword [esi]
mov esi, dword [esp + 0x98]
mov dword [esp + 0x94], ebp
fstp qword [0x596b38]
lea esi, [esi + 8]
mov ebp, dword [esp + 0xb0]
fld qword [0x596b48]
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0xb4]
fmul qword [0x596b30]
lea ebp, [ebp + 8]
lea esi, [esi + 8]
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], esi
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
fstp st(1)
fld qword [0x596b40]
lea edi, [edi + 8]
lea ecx, [ecx + 8]
fmul qword [0x596b28]
lea ebx, [ebx + 8]
lea ebp, [ebp + 8]
lea esi, [esi + 8]
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], ebx
faddp st(1)
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xd0], esi
mov edi, dword [esp + 0xd4]
mov ecx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0xe8]
fld qword [0x596b50]
mov esi, dword [esp + 0x8c]
lea edi, [edi + 8]
fmul qword [0x596b38]
lea ecx, [ecx + 8]
lea ebx, [ebx + 8]
lea ebp, [ebp + 8]
dec esi
mov dword [esp + 0xd4], edi
mov dword [esp + 0xe0], ecx
fadd st(1)
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebp
mov dword [esp + 0x8c], esi
test esi, esi
fmul qword [eax]
mov eax, dword [esp + 0xa0]
lea eax, [eax + 8]
fstp qword [edx]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
lea edx, [edx + 8]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0xc0]
lea eax, [eax + 8]
lea edx, [edx + 8]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edx
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
lea eax, [eax + 8]
lea edx, [edx + 8]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
jg 0x4cbecc
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x28]
add eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x28]
add edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x38]
add ecx, dword [esp + 0x74]
add ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
add esi, dword [esp + 0x7c]
mov dword [esp + 0x74], ecx
add edi, dword [esp + 0x80]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x28]
add eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x7c], esi
add ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x80], edi
add ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x28]
add ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x50], eax
add esi, dword [esp + 0x64]
add edi, dword [esp + 0x68]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], edx
dec eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x14], eax
test eax, eax
jg 0x4cbd2d
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x14], ecx
test ecx, ecx
mov ebp, dword [esp + 0x24]
jle 0x4cdbab
mov esi, dword [esp + 0x1c]
add ebp, dword [esp + 0x28]
imul esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x140]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x144]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x154]
add esi, dword [esp + 0x24]
sub ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x24]
sub edi, dword [esp + 0x2c]
add edi, dword [esp + 0x24]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x24]
add edi, 8
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x50], edi
add ecx, eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x148]
sub ecx, dword [esp + 0x34]
lea ebp, [eax + ebp + 8]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x24]
add ecx, dword [esp + 0x34]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x34]
add ecx, esi
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x144]
sub ecx, dword [esp + 0x2c]
lea ecx, [ecx + esi + 8]
lea esi, [eax + esi + 8]
mov eax, dword [esp + 0x134]
mov dword [esp + 0x64], esi
sub eax, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x38]
add eax, dword [esp + 0x40]
add esi, dword [esp + 0x3c]
add esi, dword [esp + 0x40]
dec ecx
mov dword [esp + 0x4c], ecx
xor ecx, ecx
cmp dword [esp + 0x4c], 4
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
setle cl
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x74], ecx
test ecx, ecx
mov edi, dword [esp + 0x50]
jle 0x4cdb0a
add edx, edx
mov dword [esp + 0x78], edi
add edx, dword [esp + 0x48]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
add edx, 8
add edi, dword [esp + 0x48]
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x28]
add edi, 8
add ebx, dword [esp + 0x50]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x28]
add ebx, ebx
mov dword [esp + 0x8c], edi
add ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x28]
add ebx, ebx
add ebx, dword [esp + 0x54]
add ebx, 8
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x34]
add ebx, 8
add esi, dword [esp + 0x40]
mov dword [esp + 0x9c], ebx
add esi, 8
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0x3c]
add esi, dword [esp + 0x68]
add esi, 8
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0x30]
add esi, dword [esp + 0x58]
add esi, 8
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x68]
add esi, dword [esp + 0x3c]
add esi, dword [esp + 0x3c]
lea edi, [esi + 8]
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, 8
lea eax, [edi + 8]
add edi, dword [esp + 0x30]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x3c]
add edi, 8
add eax, dword [esp + 0x6c]
mov dword [esp + 0xb4], esi
mov esi, dword [esp + 0x30]
add eax, 8
add esi, dword [esp + 0x5c]
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], eax
add esi, 8
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x6c]
add esi, dword [esp + 0x3c]
add esi, dword [esp + 0x3c]
lea edi, [esi + 8]
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, 8
lea eax, [edi + 8]
add edi, dword [esp + 0x30]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], esi
add edi, 8
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 0x4cd87a
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 edx, dword [esp + 0x88]
mov dword [esp + 0xd8], edx
mov edi, dword [esp + 0x8c]
mov ebp, eax
add eax, dword [esp + 0x30]
mov edx, dword [esp + 0x90]
mov ecx, 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 0x4cd6dc
fld qword [edi]
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0xe4]
fadd qword [esi]
mov esi, dword [esp + 0xf0]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0x10]
fsub st(3)
fmul st(1)
faddp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0xe0]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0xe8]
fstp st(4)
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [esi]
mov esi, dword [esp + 0xec]
fstp qword [0x596b48]
fld qword [eax]
fstp st(5)
fld qword [esi]
mov esi, dword [esp + 0x28]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0xdc]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(4)
fld qword [0x596b40]
fmul st(3)
fadd st(4)
fstp st(3)
fld qword [0x596b50]
fmul st(1)
fadd st(3)
fmul st(2)
fstp qword [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 qword [edi]
add edx, esi
add ecx, 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 ebp, 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 qword [ebx]
mov ebx, dword [esp + 0xe4]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0xe0]
fsub st(3)
fmul st(1)
faddp st(3)
fld qword [esi]
mov esi, dword [esp + 0xf0]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0xe8]
fstp st(4)
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [esi]
mov esi, dword [esp + 0xec]
fstp qword [0x596b48]
fld qword [eax]
fstp st(5)
fld qword [esi]
mov esi, dword [esp + 0x28]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0xdc]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(4)
fld qword [0x596b40]
fmul st(3)
fadd st(4)
fstp st(3)
fld qword [0x596b50]
fmul st(1)
fadd st(3)
fmul st(2)
fstp qword [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 qword [edi]
add edx, esi
add ecx, 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 ebp, 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 qword [ebx]
mov ebx, dword [esp + 0xe4]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0xe0]
fsub st(3)
fmul st(1)
faddp st(3)
fld qword [esi]
mov esi, dword [esp + 0xf0]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0xe8]
fstp st(4)
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [esi]
mov esi, dword [esp + 0xec]
fstp qword [0x596b48]
fld qword [eax]
fstp st(5)
fld qword [esi]
mov esi, dword [esp + 0x28]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0xdc]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(4)
fld qword [0x596b40]
fmul st(3)
fadd st(4)
fstp st(3)
fld qword [0x596b50]
fmul st(1)
fadd st(3)
fmul st(2)
fstp qword [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 qword [edi]
add edx, esi
add ecx, 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 ebp, 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 qword [ebx]
mov ebx, dword [esp + 0xe4]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0xe0]
fsub st(3)
fmul st(1)
faddp st(3)
fld qword [esi]
mov esi, dword [esp + 0xf0]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0xe8]
fstp st(4)
fld qword [ebx]
mov ebx, dword [esp + 0xf4]
fsub st(4)
fmul st(1)
faddp st(4)
fld qword [esi]
mov esi, dword [esp + 0xec]
fstp qword [0x596b48]
fld qword [eax]
fstp st(5)
fld qword [esi]
mov esi, dword [esp + 0x28]
fsub st(5)
fmul st(1)
fadd st(5)
fstp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0xdc]
fstp qword [0x596b50]
fld qword [0x596b48]
fmulp st(4)
fld qword [0x596b40]
fmul st(3)
fadd st(4)
fstp st(3)
fld qword [0x596b50]
fmul st(1)
fadd st(3)
fmul st(2)
fstp qword [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 qword [edi]
add edx, esi
add ecx, 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 ebp, 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 + 0xec]
fadd qword [ebx]
mov ebx, dword [esp + 0xe4]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0x10]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b28]
fld qword [ebx]
mov ebx, dword [esp + 0xe0]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0xe8]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0xf0]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b30]
fld qword [ebx]
mov ebx, dword [esp + 0xdc]
fstp qword [0x596b48]
fld qword [eax]
fstp st(3)
fld qword [esi]
mov esi, dword [esp + 0xf4]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b38]
fld qword [esi]
mov esi, dword [esp + 0x28]
fstp qword [0x596b50]
fld qword [0x596b48]
fmul qword [0x596b30]
fstp st(1)
fld qword [0x596b40]
fmul qword [0x596b28]
faddp st(1)
fld qword [0x596b50]
fmul qword [0x596b38]
fadd st(1)
fmul st(2)
fstp qword [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]
add edx, esi
add ecx, 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 ebp, 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 0x4ccf87
test ebx, ebx
jle 0x4cd87a
fld qword [edi]
mov ebx, dword [esp + 0xd8]
mov esi, dword [esp + 0xec]
fadd qword [ebx]
mov ebx, dword [esp + 0xe4]
fdivr qword [edi]
fstp st(1)
fld qword [edx]
fstp st(2)
fld qword [ecx]
fsub st(2)
fmul st(1)
faddp st(2)
fld qword [ebp]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0x10]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b28]
fld qword [ebx]
mov ebx, dword [esp + 0xe0]
fstp qword [0x596b40]
fld qword [ebx]
mov ebx, dword [esp + 0xe8]
fstp st(3)
fld qword [ebx]
mov ebx, dword [esp + 0xf0]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b30]
fld qword [ebx]
mov ebx, dword [esp + 0xdc]
fstp qword [0x596b48]
fld qword [eax]
fstp st(3)
fld qword [esi]
mov esi, dword [esp + 0xf4]
fsub st(3)
fmul st(1)
fadd st(3)
fstp qword [0x596b38]
fld qword [esi]
mov esi, dword [esp + 0x28]
fstp qword [0x596b50]
fld qword [0x596b48]
fmul qword [0x596b30]
fstp st(1)
fld qword [0x596b40]
fmul qword [0x596b28]
faddp st(1)
fld qword [0x596b50]
fmul qword [0x596b38]
fadd st(1)
fmul st(2)
fstp qword [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]
add edx, esi
add ecx, 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 ebp, 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 0x4cd6dc
mov ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0xb0]
mov edx, dword [esp + 0xb8]
fld qword [ebx]
mov ebp, dword [esp + 0xac]
mov ebx, dword [esp + 0xa4]
fstp qword [0x596b28]
mov esi, dword [esp + 0xb4]
mov eax, dword [esp + 0x7c]
fld qword [edi]
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0xbc]
fstp qword [0x596b30]
fld qword [edx]
mov edx, dword [esp + 0xc8]
fstp qword [0x596b38]
fld qword [0x596b30]
fmul qword [ebp]
mov ebp, dword [esp + 0xcc]
fstp st(1)
fld qword [0x596b28]
fmul qword [ebx]
mov ebx, dword [esp + 0xc0]
faddp st(1)
fld qword [0x596b38]
fmul qword [esi]
mov esi, dword [esp + 0xd0]
fadd st(1)
fmul qword [edi]
mov edi, dword [esp + 0xc4]
fstp qword [eax]
mov eax, dword [esp + 0x80]
fld qword [ecx]
mov ecx, dword [esp + 0x90]
fstp qword [0x596b40]
lea ecx, [ecx + 8]
fld qword [ebx]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x90], ecx
fstp qword [0x596b28]
lea ebx, [ebx + 8]
mov ecx, dword [esp + 0xac]
fld qword [edi]
mov dword [esp + 0x78], ebx
mov edi, dword [esp + 0x84]
fstp qword [0x596b48]
mov ebx, dword [esp + 0x94]
lea edi, [edi + 8]
fld qword [edx]
mov edx, dword [esp + 0x84]
lea ebx, [ebx + 8]
fstp qword [0x596b30]
mov dword [esp + 0x84], edi
mov dword [esp + 0x94], ebx
fld qword [ebp]
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0xa0]
fstp qword [0x596b50]
lea ebp, [ebp + 8]
mov ebx, dword [esp + 0xb0]
fld qword [esi]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x7c], ebp
fstp qword [0x596b38]
lea esi, [esi + 8]
mov ebp, dword [esp + 0x98]
fld qword [0x596b48]
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x9c]
fmul qword [0x596b30]
lea ebp, [ebp + 8]
lea esi, [esi + 8]
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], esi
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0xb8]
fstp st(1)
fld qword [0x596b40]
lea edi, [edi + 8]
lea ecx, [ecx + 8]
fmul qword [0x596b28]
lea ebx, [ebx + 8]
lea ebp, [ebp + 8]
lea esi, [esi + 8]
mov dword [esp + 0xa0], edi
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebx
faddp st(1)
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb8], esi
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0xd0]
fld qword [0x596b50]
mov esi, dword [esp + 0x74]
lea edi, [edi + 8]
fmul qword [0x596b38]
lea ecx, [ecx + 8]
lea ebx, [ebx + 8]
lea ebp, [ebp + 8]
dec esi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc8], ecx
fadd st(1)
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x74], esi
test esi, esi
fmul qword [eax]
mov eax, dword [esp + 0x88]
lea eax, [eax + 8]
fstp qword [edx]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xa4]
lea edx, [edx + 8]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0xa8]
lea eax, [eax + 8]
lea edx, [edx + 8]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
lea eax, [eax + 8]
lea edx, [edx + 8]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
jg 0x4cceb3
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
add eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
add edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
add ecx, dword [esp + 0x64]
add ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x60], eax
add esi, dword [esp + 0x68]
mov dword [esp + 0x64], ecx
add edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x24]
add eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x68], esi
add ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x6c], edi
add ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x24]
add ebp, dword [esp + 0x54]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
add esi, dword [esp + 0x58]
add edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
dec eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x14], eax
test eax, eax
jg 0x4ccd25
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